单项选择题

设n的初值为正整数,设计一个递归算法如下: int fact (int n) { if (n<=0) return 1; else return (n*fact(n-1)); }以下叙述中,正确的是__________。

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