Sich selbst aufrufende Funktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sich selbst aufrufende Funktion

    Ich habe eine grundsätzliche Verständnisfrage:

    Wenn ich eine Funktion definiere und in dieser Definition die Funktion sich selbst aufrufen lasse, wird die Funktion dann beim Selbstaufruf nur bis an diese Stelle ausgeführt oder die ganze Funktion?

    Sollte die ganze Funktion ausgeführt werden, also inkl. des Selbstaufrufs, würde das dann nicht zu einer Art endlosem Selbstaufruf führen?

    Wahrscheinlich kann man das gar nicht so allgemein beantworten, ich wäre trotzdem für eine dankbar.

    Grüße

  • #2
    Zitat von sfischer Beitrag anzeigen
    Wenn ich eine Funktion definiere und in dieser Definition die Funktion sich selbst aufrufen lasse, wird die Funktion dann beim Selbstaufruf nur bis an diese Stelle ausgeführt oder die ganze Funktion?
    Natürlich ersteres.
    Und nach dem Ende der Abarbeitung der „inneren“ Funktion wird dann wieder an die Stelle zurückgesprungen, an der der Aufruf erfolgte, und der nachfolgende Code ausgeführt.

    Das nennt sich übrigens Rekursion.

    Sollte die ganze Funktion ausgeführt werden, also inkl. des Selbstaufrufs, würde das dann nicht zu einer Art endlosem Selbstaufruf führen?
    Wenn keine geeignete Abbruch-Bedingung eingebaut wird - ja.

    Und das wirst du dann vom Interpreter irgendwann mit einer Meldung a la "too much recursion" o.ä. quitiert bekommen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X