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

admin2015-12-25  27

问题 设有如下函数定义
int fun(int k)
{
  if(k<1)return 0;
  else if(k==1)return 1;
  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/fii0FFFM
0

最新回复(0)