我有以下功能:
int v[]={0,1,1,1};
int f(int x)
{
if(x>=1) return v[x]+f(x-1);
else return 0;
}
当我像这样在 main 中调用它时:cout<<f(4);
它正在输出“4”,但我希望是“3”
有人可以澄清为什么我得到 '4' 而不是 '3' 吗? (我想我错过了什么)
最佳答案
v[4] 未定义。它有 4 个元素,因此最大数组索引为 3。
关于c++ - 递归增量澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12960888/