000
27.02.2015, 12:38 Uhr
YLee
|
Hallo Leute, heute habe ich etwas mit Rekursion ausprobiert, und ein Beispiel für Fakultät aus Openbook Rheinwerk genommen. Das war alles verständlich ,bis zum Ende des Programms. Ich habe so nämlich gehabt :
C++: |
#include <iostream> using namespace std; long int fakul (unsigned int a);
int main() { unsigned int x = 0; cout<<"Geben Sie eine Zahl für die Berechnung der Fakultaet :"; cin>>x; cout<<"Ergebnis ist :"<<fakul(x)<<endl; return EXIT_SUCCESS; } long int fakul (unsigned int a) { if (a > 1) { return (a* fakul(a-1)); } return 0; //Diese Stelle !!!!!!!!!!!!!!! }
|
Das Programm hat ständig nicht funktioniert ,egal was ich eingebe, kam am Ende nur 0 als Ergebnis der Berechnung aus. Bis ich an der Stelle "return 0 "in "return 1" geändert habe(was auch der Standardcode aus Openbook ist),wurde endlich die Fakultät richtig berechnet.
Ich bin jetzt verwirrt, in Internet habe ich ein paar Argumente gelesen, aber dort heißt "return 0" meistens nur quasi wie "return EXIT_SUCCESS". Und dann was für eine Auswirkung hat das nun auf diesem Programm ????
Ich bedanke mich für eine Hilfe im Voraus.
----- Edit: cpp-Tags eingefügt. Dieser Post wurde am 27.02.2015 um 15:40 Uhr von Hans editiert. |