下列程序的输出结果为( )。 main() {union un {char*name; int age; int pay; }s;’ s.name="zhaoming"; s.age=32; s.pay=3000; printf("%d\n",s.a

admin2019-09-03  40

问题 下列程序的输出结果为(    )。
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)的值覆盖。
转载请注明原文地址:https://kaotiyun.com/show/cKRp777K
0

最新回复(0)