单选题
有以下程序 main() {union {char ch[2]; int d; }S; S.d=0x4321; printf("%x,%x\n",S.ch[0],S.ch[1]); } 在16位编译系统上,程序执行后的输出结果是【 】。
A、
21,43
B、
43,21
C、
43
D、
21,00
【正确答案】
A
【答案解析】
因为联合的两个变量共用一段内存,ch[0]占用低字节,ch[1]占用高字节,所以在读它们的时候还是原来的数据,没发生改变。
提交答案
关闭