遞歸函數如何返回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