设有如下函数定义 int fun(int k) { if(k<1)return 0; else if(k==1)return 1; else return fun(k-1)+1; } 若执行调用语句:n=fu

admin2017-04-26  34

问题 设有如下函数定义
    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/l4i0FFFM
0

最新回复(0)