问题
单项选择题
有以下程序:
main()
union
unsigned int n;
unsigned char c;
u1;
u1.c='A';
printf("%c\n",u1.n);
执行后输出结果是( )。
A.产生语法错误
B.随机值
C.A
D.65
答案
参考答案:C
解析: 本题在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1.c赋一个A,其实就是给无符号整型成员u1.n的低字节赋一个A,输出u1.n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为A。所以,C选项为所选。