问题详情

设有一个递归算法如下: 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次函数调用

时间:2022-01-13 00:43 关键词:

答案解析

B
解析:主程序调用fact(n)称为外部调用,其他调用为内部调用,直到调用fact(0)为止,fact(n)调用fact(n-1),fact(n-1)调用fact(n-2),…,fact(1)调用fact(0),内部调用n次,外部调用1次,总共n+1次。