下列程序執(zhí)行輸出的結(jié)果是()。#includef(int A) {int b=0;static c=3;a=C++;b++;return(
下列程序執(zhí)行輸出的結(jié)果是( )。 #include<stdio.h> f(int A) { int b=0; static c=3; a=C++;b++; return(a); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }
A.3
B.4
C.5
D.6
正確答案:B解析: 本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在函數(shù)調(diào)用時,static變量在函數(shù)調(diào)用結(jié)束后所做的所有變化均保持(即上次調(diào)用結(jié)束時的值)。在主函數(shù)中,第一次循環(huán),i=0,調(diào)用k=f(a++)=f(2),調(diào)用完之后才將a加1,a變?yōu)?,在f(2)中,先將c=3賦值給a返回,然后將c加1,得到k=a=3,c=4。第二次循環(huán),i=1,調(diào)用k=f(a++)=f(3),調(diào)用完之后才將a加1,a變?yōu)?,在f(3)中,先將c=4賦值給 a返回,然后將c加1,得到k=a=4,c=5。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。