下面关于"联合"的题目的输出是什么
2023-07-06
a)
#i nclude
union
int i;
char x[2];
a;
void main()
a.x[0] = 10;
a.x[1] = 1;
printf(“%d”,a.i);
答案:266 (低位低地址,高位高地址,内存占用情况是Ox010A)
b)
main()
union /*定义一个联合*/
int i;
struct /*在联合中定义一个结构*/
char first;
char second;
half;
number;
number.i=0×4241; /*联合成员赋值*/
printf(“%c%c ”, number.half.first, mumber.half.second);
number.half.first=’a\; /*联合中结构成员赋值*/
number.half.second=’b\;
printf(“%x ”, number.i);
getch();
答案: AB (0×41对应’A\,是低位;Ox42对应’B\,是高位)
6261 (number.i和number.half共用一块地址空间)