Wie liefert die rekursive Funktion printCountRec (dist-1) + printCountRec (dist-2); funktioniert im folgenden Code. Durch meine Logik Der Funktionsaufruf printCountRec (dist-1) gibt 1 zurück und printCountRec (dist-2) gibt 0 zurück, indem diese beiden addiert werden. Die Antwort sollte 1 + 0 sein, also 1, aber ich bekomme die Antwort als 3. Ich bin es nicht es bekommen.Wie die Addition von 2 rekursiven Funktionen funktioniert
Programm für Anzahl Anzahl der Möglichkeiten, eine Entfernung zurückzulegen; Der Code ist als folgt-
#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;
}
Warum haben Sie dies mit C markiert? Dies ist kein gültiger C-Code. Und Sie sollten lernen, einen Debugger zu verwenden und durch Ihren Code zu gehen, um zu verstehen, was er tut. – UnholySheep
Klingt, als ob Sie mit einem Debugger durch den Code gehen sollten. Das zeigt dir genau, wie das Programm abläuft. – NathanOliver