下列程序執(zhí)行輸出的結(jié)果是()。 #include f(int a) {int b=0; static c=3; a=C++;b++; re
下列程序執(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ù)傳遞。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所做的所有變化均保持(即上次調(diào)用結(jié)束時(shí)的值)。 在主函數(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)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。