有如下程序 #include <stdio.h> main() { int a = 8, b; b = (a >> 2) % 2; printf("%d,%d\n", a, b); } 程序运行后的输出结果是

admin2021-07-09  25

问题 有如下程序
#include <stdio.h>
main()
{
    int a = 8, b;
    b = (a >> 2) % 2;
    printf("%d,%d\n", a, b);
}
程序运行后的输出结果是

选项 A、8,0
B、4,0
C、4,1
D、8,1

答案A

解析 >>右移运算符,按位右移运算规则是将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃;并在高位补位,若为无符号数,右移时左边高位移入0。a=8=01000,执行a>>2后,a=00010=2,b=2%2=0,输出a,b为8,0,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/sEkp777K
0

最新回复(0)