问题 单项选择题

有以下程序: #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。

选择题
单项选择题