设有如下函数定义 int fun(int k) {if(k<1)return0; else if(k==1)return1; else return fun(k-1)+1; } 若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

admin2019-08-10  31

问题 设有如下函数定义
int fun(int k)
{if(k<1)return0;
else if(k==1)return1;
else return fun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

选项 A、2
B、4
C、3
D、5

答案C

解析 这道题目考查了函数的递归调用,当执行调用语句n=fun(3)时,返回n=fun(2)+1,再执行fun(2),返回n=fun(1)+1+1,而fun(1)等于1,所以最后n的值等于3。而函数fun总共被调用了3次。即fun(3),fun(2),fun(1)。
转载请注明原文地址:https://jikaoti.com/ti/XQf0FFFM
0

最新回复(0)