问题
单项选择题
下列程序的输出结果为( )。 main() {union un {char*name; int age; int pay; }s; s.name="zhaoming": s.age=32; s.pay=3000; printf("%d\n",s.age); }
A.32
B.3000
C.0
D.不确定
答案
参考答案:B
解析: 本题考查的是联合体的有关概念。因为联合体是各个成受共享一段存储空间,此段存储空间最终存放的是最后存入的成员的值,所以题目中输出s.age实际上输出了最后存入的3000,因为3000已经把原来存入的s.age(32)的值覆盖。