下面關於"C++聯合"的題目的輸出筆試問題

才智咖 人氣:7.83K

a)

下面關於"C++聯合"的題目的輸出筆試問題

#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%cn”, t, nd);

t=’a'; /*聯合中結構成員賦值*/

nd=’b';

printf(“%xn”, number.i);

getch();

}

答案: AB (0×41對應’A',是低位;Ox42對應’B',是高位)

6261 (number.i和共用一塊地址空間)