Hi,
Für den Fall muh == 0, also fak(0), wird folgender Code ausgeführt:
int hans=1;
return hans;
Für muh == 1 wird effektiv folgender Code ausgeführt:
hans=muh*fak(0);
return hans;
was aber gleichbedeutend ist mit
hans=muh*hans;
return hans;
weil ja für muh == 0, also fak(0), der Wert von hans zurückgegeben wird.
Also wird das Ergebnis mit dem (falschen) Wert von fak(0) multipliziert.
0! ist als 1 festgelegt, nicht als 10 - also ist es sinnlos, dort den Wert 10 einzusetzen...
Ach ja, Deine Funktion hat ein Problem:
ruf mal fak(-1) auf ;-)
cu,
Andreas
--
MudGuard? Siehe http://www.mud-guard.de/
MudGuard? Siehe http://www.mud-guard.de/