设有一个递归算法如下:    int fact(int n){    if(n<=0)return 1;    else return n*fact(n-1);    }    下面正确的叙述是(35)。

admin2009-02-15  35

问题 设有一个递归算法如下:    int fact(int n){    if(n<=0)return 1;    else return n*fact(n-1);    }    下面正确的叙述是(35)。

选项 A、计算fact(n)需要执行n次函数调用
B、计算fact(n)需要执行n+1次函数调用
C、计算fact(n)需要执行n+2次函数调用
D、计算fact(n)需要执行n-1次函数调用

答案B

解析 主程序调用fact(n)称为外部调用,其他调用为内部调用,直到调用fact(0)为止, fact(n)调用fact(n-1),fact(n-1)调用fact(n-2),…,fact(1)调用fact(0),内部调用n次,外部调用1次,总共n+1次。
转载请注明原文地址:https://kaotiyun.com/show/hkxZ777K
0

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