Stapelüberlauf durch rekursive Funktion
Als Anfänger in C ++ - Programmierung und Computersystemarchitektur lerne ich immer noch die Grundlagen von C ++. Gestern habe ich über rekursive Funktionen gelesen und mich dazu entschlossen, meine eigenen zu schreiben. Hier ist, was ich geschrieben habe: (sehr einfach)
int returnZero(int anyNumber) {
if(anyNumber == 0)
return 0;
else {
anyNumber--;
return returnZero(anyNumber);
}
}
Und wenn ich das mache: int zero1 = returnZero (4793); Es kommt jedoch zu einem Stapelüberlauf. Wenn ich den Wert 4792 als Parameter übergebe, tritt kein Überlauf auf.
Irgendwelche Ideen, warum?