有以下程序: #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);}

admin2009-02-15  12

问题 有以下程序:    #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://kaotiyun.com/show/eNXp777K
0

最新回复(0)