问题
单项选择题
下列程序的输出结果为( )。
#include <stdio.h>
main()
union u
char *name;
int age;
int income; s;
s.name="WANGLIONG":
s.age=28;
s.income=1000;
printf("% d\n", s.age);
A) 28
B) 1000
C) 0
D) 不确定
答案
参考答案:B
解析: 本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间,所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000; 是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。