下列程序的输出结果是( )。 #include main() {struct st {int y,x,z;}; union {long i;intj; char k;)un; print

admin2020-06-16  34

问题 下列程序的输出结果是(    )。
    #include
    main()
    {struct st
    {int y,x,z;};
    union
    {long i;intj;
    char k;)un;
    printf("%d,%d\n",sizeof(struct st),sizeof(un));}

选项 A、6,2
B、6,4
C、8,4
D、8,6

答案B

解析 本题考查的是结构和数组元素所占的字节数。题目中定义的结构st因为包含x、y、z这3个元素,所以size(structst)+2+2=6;而联合体所占的字节数,由于最后存入的元素会把前面存入的元素覆盖掉,所以联合体所占的字节数就是占据最多存储单元的元素所占的字节数,sizeof(un)=sizeof(long)=4。
转载请注明原文地址:https://kaotiyun.com/show/7pCp777K
0

最新回复(0)