有如下程序 #include <stdio.h> struct S { int x, y; }; main() { struct S data[2] = {4, 3, 1, 9}; int i; for (i=

admin2020-06-16  28

问题 有如下程序
#include <stdio.h>
struct  S
{
    int x, y;
};
main()
{
    struct S  data[2] = {4, 3, 1, 9};
    int i;   
    for (i=0; i<2; i++)
        printf("%d,%d;", data.x, data.y >> 1);
    printf("\n");
}
程序运行后的输出结果是

选项 A、4,1;1,4;
B、4,1;2,4;
C、4,3;1,9;
D、4,3;2,3;

答案A

解析 >>右移运算符。程序执行过程为:定义结构体数组data,并且初始化,则data[0].x=4,data[0].y=3,data[1].x=1,data[1].y=9。For循环依次输出结构体变量的成员与经过位运算之后的结果。3=11B,9=1001B,data[0].y>>1=1,data[1].y>>1=4。程序运行后输出结果为:4,1,1,4,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/BOCp777K
0

最新回复(0)