A-A+

当执行下.面的程序时 其输出结果为 ______。 union st { int a; ch

2022-08-06 02:22:06 问答库 阅读 174 次

问题详情

当执行下.面的程序时,其输出结果为 ______。 union st { int a; char b; } main() { union st s; char* p=(char *)&s; s.a=0x3132; s.b=0x33; printf("%c",*p); }
A.1
B.2
C.3
D.不确定请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:共用体类型结构的特点是使几个不同的变量共占同一段内存,但在每一瞬时只能存放其中一种,而不是同时存放几种,共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。因此本题起作用的是成员b的值,所以程序打印输出3。

考点:结果,程序