问题 单项选择题

有以下程序
main()
union unsigned int n;
unsigned char C;
ul;
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选项为所选。

选择题
[ ]

A. I don't mind.

B. I do too.

C. I love it.

D. I can't stand.

查看答案
单项选择题