设有如下函数定义: #include<stdio.h> int fun(int k) {if(k<1)returm0; else if(k==1)retum1: else return fun(k-1)+1: } 若执行调用语句“n=fun(3);”,则函

admin2020-01-10  27

问题 设有如下函数定义:
#include<stdio.h>
int fun(int k)
{if(k<1)returm0;
else if(k==1)retum1:
else return fun(k-1)+1:
}
若执行调用语句“n=fun(3);”,则函数fun总共被调用的次数是(  )。

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

答案B

解析 首先n=fun(3),3被当作参数传递进去,这就进行了一次调用,3被当做参数传进去后,程序会执行这句else retum fun(k-1)+1;这就调用了第二次,而参数是3-1也就是2。2被当做参数传进去后,程序会执行这句else return fun(k-1)+1;这就调用了第三次,而参数是2-1也就是1。1被当做参数传进去后,程序会执行这句else if(k==1)return1;不再递归调用,所以最终结果为3次。
转载请注明原文地址:https://kaotiyun.com/show/LTCp777K
0

相关试题推荐
最新回复(0)