共用体问题?麻烦大家看看
#include <stdio.h>
union un
{ int i;
char c[2];
};
void main()
{
union un x;
x.c[0]=10;
x.c[1]=1;
printf( "\n%d ",x.i);
}
问题:为什么输出266
希望给出具体解释。
[解决办法]
第一个字节为0xa,第二个字节值为0x1,则对于i来说就是0x010a = 16 * 16 + 10 = 266