A-A+

下列程序的输出结果为 main() { union u { char*name; int a

2022-08-06 06:49:49 问答库 阅读 177 次

问题详情

下列程序的输出结果为 main() { union u { char*name; int age; int income;}s s.name="WANGLIONG"; s.age=28; s.income=1000; printf("%dn",s.age); }
A.28
B.1000
C.0
D.不确定请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间。所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。

考点:结果,程序