有以下程序 #include int fun(int a, int b) { if(b==0) return a;
有以下程序 #include <stdio.h> int fun(int a, int b) { if(b==0) return a; else return(fun(-a,-b)); } main() { printf("%d\n",fun(4,2)); } 程序的運(yùn)行結(jié)果是______。
A.1
B.2
C.3
D.4
正確答案:B解析:在調(diào)用一個(gè)函數(shù)的過程中又出現(xiàn)直接或間接調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用。本題考查的是函數(shù)遞歸調(diào)用。首先當(dāng)a=4,b=2時(shí),調(diào)用fun(4,2),不滿足條件b==0,繼續(xù)調(diào)用fun函數(shù);此時(shí)a=3,b=1,即調(diào)用fun(3,1),不滿足條件b=0,繼續(xù)調(diào)用fun函數(shù);此時(shí)a=2,b=0,滿足條件b=0,返回a的值2。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。