以下程序運(yùn)行后的輸出結(jié)果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);
以下程序運(yùn)行后的輸出結(jié)果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);}main{ int c=20; fun(c); a+=c++; printf("%d\n",a);}
正確答案:30,25在本題中,程序首先定義了一個(gè)整型全局變量a,全局變量的作用域?yàn)檎麄€(gè)程序。然后定義了一個(gè)fun函數(shù),函數(shù)帶有一個(gè)整型變量作為形參,在函數(shù)體中,首先定義了一個(gè)靜態(tài)變量a,與全局變量a同名,在這種情況下,在函數(shù)fun中靜態(tài)變量a具有更高的使用優(yōu)先級(jí),而在主函數(shù)中,全局變量a具有更高的使用優(yōu)先級(jí)。在主函數(shù)中,首先定義一個(gè)整型變量c并初始化為20,然后調(diào)用fun函數(shù),將變量c作為實(shí)參傳遞給函數(shù),執(zhí)行a+=b++,等價(jià)于a=a+(b++)=10+20=30,然后執(zhí)行輸出語(yǔ)句,輸出變量a的結(jié)果“30,”,然后
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。