A-A+
有以下程序 main() { union{unsigned int n; unsigned
问题详情
有以下程序 main() { union{unsigned int n; unsigned char c; }ul; u1.C="A"; pfintf("%cn",u1.n); } 执行后输出结果是
A.产生语法错
B.随机值
C.A
D.65请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:在定义共用体的同时,定义了一个共用体型变量u1,共占两个字节,有两个成员n和c,两个成员的首地址是相同的。因此给u1,c赋一个“A”,其实就是给无符号整型成员u1.n的低字节赋一个“A”,输出u1,n的时候是以字符型的形式输出,只输出它的低地址的一个字节,因此为“A”。