> 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