Irgendjemand_1
Erfahrenes Mitglied
Hallo, ich habe mal eine Frage.
Bei dieser Funktion
Wird ja die Fakultät einer Zahl, nehmen wir mal 5 (120), ausgerechnet.
Als ich so eine Funktion mal in PHP gesehen habe, kam mir alles logisch vor, aber hier kam jetzt irgendwie folgende Frage auf:
Warum gibt die Funktion am Ende 120 zurück?
Meiner Meinung nach sollte sie am Ende 2 zurückgeben.
So wie ich das sehe, müsste die Funktion 5*1, 4*1, 3*1, 2*1 rechnen. Nur wie kann sie dann beim letzten Mal (2*1) 120 ausgeben?
Danke schonmal dafür, dass ihr mir die Augen öffnen werdet
Vielleicht ist es einfach schon zu spät ... 
Bei dieser Funktion
Code:
#include <iostream>
int fak (int val) {
if (val > 1) {
return fak(val-1) * val;
}
}
Als ich so eine Funktion mal in PHP gesehen habe, kam mir alles logisch vor, aber hier kam jetzt irgendwie folgende Frage auf:
Warum gibt die Funktion am Ende 120 zurück?
Meiner Meinung nach sollte sie am Ende 2 zurückgeben.
So wie ich das sehe, müsste die Funktion 5*1, 4*1, 3*1, 2*1 rechnen. Nur wie kann sie dann beim letzten Mal (2*1) 120 ausgeben?
Danke schonmal dafür, dass ihr mir die Augen öffnen werdet

