有以下程序 main() { union{ unsigned int n; unsigned char C; }ul; u1.C=’A’; printf("%c\n",u1.n); }

admin2009-01-15  27

问题 有以下程序  main()  {  union{  unsigned int  n;             unsigned char  C;           }ul;    u1.C=’A’;    printf("%c\n",u1.n);  }    执行后输出结果是

选项 A、产生语法错
B、随机值
C、A
D、65

答案4

解析 在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的.因此给 u1.c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。所以,C选项为所选。
转载请注明原文地址:https://kaotiyun.com/show/JbXp777K
0

最新回复(0)