请高手帮忙看一下这个题:
#include <iostream>using namespace std;int main()
{
union{ /*定义一个联合*/
int i;
struct{ /*在联合中定义一个结构*/
char first;
char second;
}half;
}number;
number.i=0x4241; /*联合成员赋值*/
printf("%d\n%d\n", number.half.first, number.half.second);
number.half.first='a'; /*联合中结构成员赋值*/
number.half.second='b';
printf("%x\n", number.i);
system("pause");
return 0;
}
结果是:
65(0100 0001)为什么?
66(0100 0010)
6261