Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Man spricht von einer Rekursion, wenn eine Funktion sich selbst aufruft. Dabei muss allerdings gewährleistet sein, dass die Rekursion irgendwann abbricht. Als Beispiel hierzu die rekursive Variante einer Funktion zur Berechnung der Fakultät einer Zahl.
int fakul(int n)
{
if (n == 0)
return 1;
else
return n * fakul(n - 1);
}
Lassen Sie uns den Geschehensablauf für den Fall durchspielen, dass der Funktion der Wert 2 übergeben wird, also die Fakultät von 2 berechnet werden soll. Dann erhält der Parameter n der Funktion fakul() diesen Wert und die if-Bedingung
if (2 == 0)
wertet zu false aus. Daher wird die Anweisung des else-Zweiges ausgeführt, in dem die Funktion sich selbst aufruft und zwar mit dem Argument n - 1, in diesem Fall also mit dem Wert 1.