K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
现有一段意图计算正整数n的阶乘的C++递归函数,但存在缺陷,代码如下:
int factorial(int n) { return n * factorial(n - 1); }
为了让该函数可以正确运行并得到符合数学定义的阶乘结果,需要添加正确的递归终止条件,以下方案正确的是?
在函数起始位置添加 if (n == 0 || n == 1) return 1;
if (n == 0 || n == 1) return 1;
在函数起始位置添加 if (n == 0) return 0;
if (n == 0) return 0;
在函数末尾添加 if (n == 1) return 1;
if (n == 1) return 1;
无需添加任何条件,该函数可以正确运行