单选题有以下程序:#include struct S{ int x,y;};main(){ struct S data[3] = {4,3,2,0,8,1}; int i; for(i=0;i<3;i++)  printf(%d%d;,data[i].x, data[i].y>>1); printf();}程序运行后的输出结果是(  )。A 41;20;80;B 41;22;64;C 40;21;80;D 43;20;81;

题目
单选题
有以下程序:#include struct S{ int x,y;};main(){ struct S data[3] = {4,3,2,0,8,1}; int i; for(i=0;i<3;i++)  printf(%d%d;,data[i].x, data[i].y>>1); printf();}程序运行后的输出结果是(  )。
A

41;20;80;

B

41;22;64;

C

40;21;80;

D

43;20;81;


相似考题
参考答案和解析
正确答案: C
解析:
“>>”右移运算符,右移一位等价于除以2后取整。程序中定义结构体数组data并完成初始化,data[0].x=4,data[0].y=3,data[1].x=2,data[1].y=0,data[2].x=8,data[2].y=1。在for循环中,对3个结构体元素y值转换成2进制数后向右移一位,再对此时x,y值依次进行输出,答案选择A选项。