有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n"

admin2013-02-23  42

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

答案1

解析 在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位 ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。
转载请注明原文地址:https://jikaoti.com/ti/F6n0FFFM
0

最新回复(0)