问题
单项选择题
有以下程序: #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);} 程序的输出结果是( )。
A.13
B.14
C.208
D.209
答案
参考答案:A
解析: 在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位 ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。