int fact; int x; fact=factorial(6); printf ("%i\n",fff()); }
int factorial(int x){ if(x>1) return(x*factorial(x-1)); }
int fff () { ; }
OK I give up, what do you mean by the fff() function?
Something very strage, I did the following (inserted wait(1), thats it)
# include <stdio.h> main(){ int fact; int x; fact=factorial(6); wait(1); printf ("%i\n",fff()); }
You've defined fff() as int, and it _doesn't_ return anything, plus you are printing the value it returns (the printf statement)!
If you are really interested in the factorial of 6, I guess you should be printing the return value of factorial(6).
That is your printf statement should look something like this:
printf("%d\n", factorial(6)); or simply printf("%d\n", fact);
Also, the int x declaration in main() is superfluous - you can do without it; and as a good programming practice never choose variable names that collide. Your main() has an x, and so does your factorial() - they are different and don't mean the same x.
Warm wishes,
Amol Hatwar