union un { char c[2]; int a; }chang; main() { chang. a=16961; printf("%d, %c\n", chang. c[0], chang. c[0]); printf("%d, %c\n", chang. c[1], chang. [1]); }
1 回答

翻过高山走不出你
TA贡献1875条经验 获得超3个赞
结果为65,A
66,B
因为a在内存中的表示为二进制0100001001000001,并与c[2]共用存储单元,其中高8位为c[1],低8位为c[0].
添加回答
举报
0/150
提交
取消