有如下程序 #include main() { int i, array[5] = {3, 5, 10, 4}; for (i=0; i

admin2015-07-28  29

问题 有如下程序
#include
main()
{
int i, array[5] = {3, 5, 10, 4};
for (i=0; i<5; i++)
printf("%d,", array & 3);
printf("\n");
}
程序运行后的输出结果是( )。

选项 A、3,1,2,0,0,
B、3,5,10,4,0,
C、3,3,3,3,0,
D、3,2,2,2,0,

答案A

解析 按位与"&"运算符的运算规则是:只要对应的二进制位有一个为0时,结果就为0。3的二进制数为0011,array[0]&3=0011&0011=0011;array[1]&3=0101&0011=0001;array[2]&3=1010&0011=0010;array[3]&3=0100&0011=0000;array[0]&3=0000&0011=0000,对应的十进制数值为3,1,2,0,0,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/bKJp777K
0

最新回复(0)