递归函数如何返回printCountRec(dist-1)+ printCountRec(dist-2);在以下代码中工作。通过我的逻辑printCountRec(dist-1)函数调用将返回1和printCountRec(dist-2)将通过添加这两个返回0,答案应该是1 + 0即1,但我得到的答案为3我不是在做了。如何添加2个递归函数
程序计数覆盖距离的方法数量; 代码如下 -
#include <iostream>
using namespace std;
int printCountRec(int dist)
{
// Base cases
if (dist<0) return 0;
else if (dist==0) return 1;
// Recur for all previous 3 and add the results
else return printCountRec(dist-1) + printCountRec(dist-2);
}
int main()
{
int dist = 3;
cout << printCountRec(dist);
return 0;
}
你为什么用C标记这个?这不是有效的C代码。你应该学会使用一个调试器,并通过你的代码来了解它在做什么 – UnholySheep
听起来像你应该使用调试器来遍历代码。这将显示你完全锄头的程序流。 – NathanOliver