问个关于共用体的题目.(计算机2级的)
#include<stdio.h>
union
{
int a[2];
char c[4];
}x;
main()
{
x.a[0]=0x39;
x.a[1]=0x38;
printf("%c",x.c[0]);
}
计算机2级在dos底下考的,所以系统是16位的.
我的感觉是x.c[0]的地址就是x.a[0]的第一个字节的地址.
所以我认为答案是0x39在内存中占的第一个字节的值所代表的字符值.
但答案是0x39代表的字符值也就是9;
请大家帮我解答一下,为什么是9;