有以下程序 #include int i=0; void fun( ) { { static int i=1
有以下程序 #include<iostream> int i=0; void fun( ) { { static int i=1; Std::cout<<i++<<','; } Std::cout<<i<<','; } int main( ) { fun();fun(); return O; } 程序執(zhí)行后的輸出結(jié)果是
A.1,2,1,2,
B.1,2,2,3,
C.2,0,3,0,
D.1,0,2,0,
正確答案:D解析:本題考核變量的作用域、生存周期和存儲(chǔ)類(lèi)別(自動(dòng)、靜態(tài)、存儲(chǔ)器、外部)。題中即定義全局變量i又在函數(shù)fun內(nèi)部定義了局部靜態(tài)變量i,當(dāng)進(jìn)入函數(shù)fun里面的大括號(hào)時(shí),局部靜態(tài)變量i有效,所以輸出1,然后局部靜態(tài)變量i加1,出了里面的大括號(hào)后,全局變量i有效,所以輸出0。同理,第二次調(diào)用fun后,輸出2和0。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。