以下程序的输出结果是 #include<stdio.h> main() { union un{ int i; long k; char c;}; struct byte{

admin2009-02-15  40

问题 以下程序的输出结果是    #include<stdio.h>    main()    { union un{ int i;                long k;                char c;};    struct byte{                int a;                long b;                union un c;}r;           printf("%d\n",sizeof(r));}

选项 A、10
B、13
C、7
D、8

答案1

解析 本题主要考查了结构体和共用体数据的存储形式。共用体的一个特点是所有数据成员共用一段存储单元,而结构体每个数据成员都单独占据一段存储单元。共用体所占存储单元的大小由长度最长的数据成员的长度决定。题中共用体变量c占据 4个字节的长度,结构体r所占存储空间的大小为int(2个字节)+long(4个字节)+共用体c(4个字节)=10个字节,所以答案为A)。
转载请注明原文地址:https://kaotiyun.com/show/bkXp777K
0

最新回复(0)