问题 单项选择题

已知递归函数fun的定义如下:
intfun(intn)

if(n<=1)return 1;//递归结束情况
else return n*fun(n-2);//递归

则函数调用语句fun(5)的返回值是( )。

A) 5
B) 12
C) 15 D) 30

答案

参考答案:C

解析: 递归函数fun被定义为含有参数intn,返回整型。其中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)1,答案为15。

选择题
单项选择题