为什么这个递归代码失败了? 它失败了,因为它没有正确计算阶乘(这只是递归函数,你知道),即如果我运行" factorial(3)"它会产生" 2&# 34;而不是" 6" (阶乘(3)是6,而不是2)。所以它有一个bug,不是吗?
int factorial(int n){
if(n>1) return n*factorial(--n);
else return 1;
}
如果我使用n-1而不是--n,它修复了错误? - >而且,如果我使用n--,我会创建一个无限循环 我真的不明白