读书人

如何算

发布时间: 2012-03-29 12:53:13 作者: rapoo

怎么算?
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

用计算器换算下

读书人网 >C语言

热点推荐