已知递归函数fun的定义如下: int fun(int n) {if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是(

admin2019-06-12  37

问题 已知递归函数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。
转载请注明原文地址:https://kaotiyun.com/show/dL8p777K
0

最新回复(0)