第28180题 单选题
以下C++递归函数中,存在错误的终止条件设计的是?

下列四个递归函数的实现中,因终止条件设计不合理会导致无限递归或无法完成预期功能的是:

A

计算正整数n的阶乘的递归函数:

int fact(int n) {
    if(n == 0 || n == 1) return 1;
    return n * fact(n - 1);
}
B

递归计算1到n的和的函数:

int sum(int n) {
    if(n == 1) return 1;
    return sum(n);
}
C

递归打印从n到1的整数的函数:

void print(int n) {
    if(n == 0) return;
    std::cout << n << " ";
    print(n - 1);
}
D

求斐波那契数列第n项(n≥1)的递归函数:

int fib(int n) {
    if(n == 1 || n == 2) return 1;
    return fib(n-1) + fib(n-2);
}
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析