Funktionen, die sich selbst aufrufen, bezeichnet man als rekursive Funktionen . Die rekursive Funktion hinUndZurueck im folgenden Programm bewirkt, dass der Hamster bis zur nächsten Wand und anschließend zurück zu seinem Ausgangspunkt läuft.
void hinUndZurueck() {
if (vornFrei()) {
vor();
hinUndZurueck(); // rekursiver Funktionsaufruf
vor();
} else {
linksUm(); linksUm();
}
}
void main() {
// der Hamster laeuft zur naechsten Wand und zurueck
hinUndZurueck();
}