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

admin2020-10-26  17

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

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

答案C

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

最新回复(0)