myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 27.01.14, 20:43   #1
cortez442
Nur der Hamburger SV
 
Benutzerbild von cortez442
 
Registriert seit: Oct 2009
Beiträge: 474
Bedankt: 293
cortez442 ist unten durch! | -165 Respekt Punktecortez442 ist unten durch! | -165 Respekt Punkte
Standard

Ist halt aufgebaut, wie eine rekursive Funktion aufgebaut werden muss. Man hat eine Abbruchbedingung und einen rekursiven Pfad. Der Abbruchpfad ist offensichtlich Zahl <=1. Bleibt also noch zu klären, wozu der rekursive Pfad führt. Die Funktion ruft sich solange mit dem der um 1 dekrementierten Zahl selber auf, bis die Zahl am Ende 1 ist (Sollte der Startwert <= 1 sein, tritt natürlich die Abbruchbedingung in Kraft und 1 ausgegeben).

Am Ende hast du einen Rattenschwanz von rekursiven Aufrufen in deinem Stack, der rückwärts wieder abgearbeitet wird. Der letzte Aufruf (bzw. der, der als erstes abgearbeitet wird) gibt dir 1 zurück. Dieser Wert wird an die aufrufende Instanz übergeben und mit dem Wert multipliziert (in den Fall die 2). Also haben wir 2! = 2. Dieser Wert wird abermals an die vorherige Instanz übergeben und mit der Zahl multipliziert. Also haben wir die 2 als Rückgabe der eben aufgelösten Instanz, welche mit der 3 multipliziert wird. 2 * 3 = 3! = 6. Das geht dann so weiter, bis die Funktion abgearbeitet ist.
__________________
Ein Fehler ist aufgetreten: der Vorgang wurde erfolgreich ausgeführt.
cortez442 ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr.


Sitemap

().