第28181题 单选题
为修复以下C++斐波那契递归函数的终止条件缺陷,正确的修改方案是?

以下C++代码意图计算正整数n对应的斐波那契数列第n项,但存在递归终止条件的问题:

int fib(int n) {
    if(n == 1) return 1;
    return fib(n-1) + fib(n-2);
}

当传入n=0或n≥2的参数时,该函数无法正确运行甚至触发栈溢出。下列修改方案中正确的是:

A

将if(n ==1) return1; 修改为if(n ==0) return0;

B

无需修改,该函数本身可以正确运行

C

保留原有判断,添加if(n ==0) return0;

D

将递归调用改为fib(n+1)和fib(n+2),缩小问题规模

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析