下列程序的输出结果为 main() { union u { char*name; int age; int income;}s s.name="WANGLIONG";

admin2009-02-15  25

问题 下列程序的输出结果为    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、不确定

答案2

解析 本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间。所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。
转载请注明原文地址:https://jikaoti.com/ti/TCK0FFFM
0

最新回复(0)