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

admin2009-01-15  13

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

答案1

解析 根据共用体的定义可知:共用体a的成员i和成员ch[2]共用同一段内存空间,所以,当程序给a.ch[0]和a.ch[1]赋值后,实际上,共用体成员i的值就确定为13了,所以打印输出的结果应当为13。
转载请注明原文地址:https://kaotiyun.com/show/uLXp777K
0

最新回复(0)