柠檬试题库
search
首页 计算机 公务员 驾照 关于

设有如下函数定义: #include 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.3
  • C.4
  • D.5
热度🔥1,718
参考答案:B
解析:

【解析】首先 n=fun(3),3被当作参数传递进去,这就进行了一次调用,3被当做参数传进去后,程序会执行这句 else return fun(k-1)+1; 这就调用了第二次,而参数是3-1也就是2。2被当做参数传进去后,程序会执行这句 else return fun(k-1)+1; 这就调用了第三次,而参数是2-1也就是1。1被当做参数传进去后,程序会执行这句 else if(k==1) return 1; 不再递归调用,所以最终结果为3次。
复制题目向AI提问