问题 单项选择题

以下程序的输出结果是
#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

答案

参考答案:A

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

选择题
判断题