有以下程序#include <stdio.h>union pw{ int i; char ch[2];}a;main(){ a.ch[0]=13;a
有以下程序#include <stdio.h>union pw{ int i; char ch[2];}a;main(){ a.ch[0]=13;a.ch[1]=0; printf("%d\n",a.i);} 程序的輸出結(jié)果是A.13 B.14C.0 D.20
正確答案:A本題主要考查聯(lián)合體的內(nèi)容。關(guān)于聯(lián)合體,我們需要注意以下幾個(gè)特點(diǎn)。(1)聯(lián)合體不允許做初始化賦值,賦值只能在程序中進(jìn)行。(2)由于聯(lián)合體成員共享存儲(chǔ)空間的原因,導(dǎo)致一個(gè)聯(lián)合體變量每次只能給一個(gè)成員變量賦值,而且聯(lián)合體中所有成員的首地址相同,即都是變量的地址。(3)聯(lián)合體的存儲(chǔ)空間與其成員變量中所需空間最大的變量保持一致,即聯(lián)合變量的長(zhǎng)度等于各成員中最長(zhǎng)的長(zhǎng)度。在本題中,程序首先定義了一個(gè)聯(lián)合體和一個(gè)該聯(lián)合體的聯(lián)合體變量a,在主函數(shù)中,分別用兩條語(yǔ)句給聯(lián)合體成員賦值,由于ch是一個(gè)數(shù)組,它的元素仍按普通數(shù)組
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。