有如下程序段struct abc{ int a, b, c, s;};main(){ struct abc s[2]={{1,2,3},{4,5,6}}; in
有如下程序段struct abc{ int a, b, c, s;};main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t);}程序運(yùn)行后輸出的結(jié)果是A.5 B.6 C.7 D.8
正確答案:B本題中,程序首先定義一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體定義了四個(gè)整型變量。在主函數(shù)中,首先定義了一個(gè)該結(jié)構(gòu)體的大小為2的結(jié)構(gòu)體數(shù)組,并給該數(shù)組進(jìn)行了初始化,從初始化語(yǔ)句我們可以看出,初始化時(shí)缺少了一個(gè)結(jié)構(gòu)體成員的值,在這種情況下,系統(tǒng)會(huì)自動(dòng)為缺省的成員補(bǔ)0,本題中就是給結(jié)構(gòu)體成員變量b賦初值為0。然后定義了一個(gè)整型變量t,接著運(yùn)行t=s[0].a+s[1].b;語(yǔ)句,即t=1+5=6。因此,程序的最后輸出結(jié)果為6,本題正確答案選B。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。