问题 单项选择题

有以下程序: #include <stdio.h> union pw { int i; char ch[2]; } a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i); } 程序的输出结果是(注意:ch[0]在低字节,ch[1]在高字节)( )。

A.13

B.14

C.208

D.209

答案

参考答案:A

解析: 根据共用体的定义可知:共用体a的成员i和成员ch[2]共用同一段内存空间,所以,当程序给a.ch[0]和a.ch[1]赋值后,实际上,共用体成员i的值就确定为13了,所以打印输出的结果应当为13。

单项选择题
单项选择题