有以下程序int fun(int n){if(n==1) return 1;else return(n+fun(n-1));}main(){int x;scan
有以下程序int fun(int n) { if(n==1) return 1; else return(n+fun(n-1));}main(){ int x; scanf("%d",&x); x=fun(x); printf("%d\n",x);}執(zhí)行程序時,給變量x輸入10,程序的輸出結(jié)果是A.55 B.54 C.65 D.45
正確答案:A本題主要考查函數(shù)的遞歸調(diào)用。在做遞歸調(diào)用函數(shù)類型的題目時,我們首先要找到函數(shù)的出口和遞歸結(jié)束的條件。在本題中,程序首先定義了一個fun函數(shù),函數(shù)的形參是一個整型變量n,從后面的程序可以看出,該函數(shù)是一個遞歸函數(shù)。在函數(shù)體中,首先執(zhí)行條件判斷語句,如果條件結(jié)果為真,說明變量n為1,此時返回1,這是遞歸函數(shù)的出口;否則返回函數(shù)的遞歸調(diào)用。在主函數(shù)中,定義一個變量x,并試圖通過鍵盤輸入的方式為變量x賦初值,然后調(diào)用fun函數(shù),并用x作為其形參,用x保存最后的運行結(jié)果輸出。變量x的初值為10,從上面的分析我們知
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。