若有以下程序段: int r=8: printf("%d\n",r>>1); 输出结果是( )。

admin2018-07-19  22

问题 若有以下程序段:
    int r=8:
    printf("%d\n",r>>1);
    输出结果是(  )。

选项 A、16
B、8
C、4
D、2

答案C

解析 C语言中“>>”是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数右移相应位数,并将移出的位信息舍去,在高位补0,将所得的结果再赋值给变量。本题中8的二进制为00001000,右移一位得到00000100,所以是4。
转载请注明原文地址:https://jikaoti.com/ti/6da0FFFM
0

最新回复(0)