问题 单项选择题

当执行下面的程序时,其输出结果为______。
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。

选择题
填空题