怎么算?
union un
{
int i;
char c[21];
};
void main()
{
union un x;
x.c[0]='1';
x.c[1]='1';
x.c[2]='1';
x.c[3]='2';
printf("%d\n",x.i);
}
[解决办法]
答案与平台相关,在little-endian和big-endian上的结果不同
[解决办法]
运行一下就知道了
[解决办法]
小端的话,
x.c[0]='1';
x.c[1]='1';
x.c[2]='1';
x.c[3]='2';
这些就是i的内存数据呗
[解决办法]
刚去看了下,这个在调试时看下内存就明白了……
[解决办法]
小端: 0x32313131
大端: 0x31313132
用计算器换算下