A-A+

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)retur

2022-08-05 20:38:23 问答库 阅读 171 次

问题详情

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是()。
A.5
B.12
C.15
D.30请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:递归函数fun被定义为含有参数int n,返同整型。其中fun函数递归调用本身,当n=1时,fun返回1,如果大于1那么执行n*fun(n-2)。所以,当n等于5时,执行5*fun(3);当3时继续调用fun,3*fun(1),即fun(5)=5*(3*fun(1)),答案为15。

考点:函数,定义