下面關(guān)于"C++聯(lián)合"的題目的輸出筆試問題
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 (低位低地址,高位高地址,內(nèi)存占用情況是Ox010A)
b)
main()
{
union{ /*定義一個聯(lián)合*/
int i;
struct{ /*在聯(lián)合中定義一個結(jié)構(gòu)*/
char first;
char second;
}half;
}number;
number.i=0×4241; /*聯(lián)合成員賦值*/
printf(“%c%c\n”, number.half.first, mumber.half.second);
number.half.first=’a'; /*聯(lián)合中結(jié)構(gòu)成員賦值*/
number.half.second=’b';
printf(“%x\n”, number.i);
getch();
}
答案: AB (0×41對應’A',是低位;Ox42對應’B',是高位)
6261 (number.i和number.half共用一塊地址空間)
【下面關(guān)于"C++聯(lián)合"的題目的輸出筆試問題】相關(guān)文章:
經(jīng)典c++面試筆試題目22題12-11
華為C++筆試題11-23
聯(lián)想C++筆試題11-23
C++筆試實例分析11-22
Sony C++筆試題11-22
C++筆試題:關(guān)于鏈表和指針11-22
C++筆試題目分享11-22
華為c/c++筆試題11-22
類似德勤筆試題目的邏輯題12-04