HI friends
I was experimenting with a common c factorial problem
when I got a totally unexpected result.
here is the program
# include <stdio.h>
main(){
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 () {
;
}
Naturally I was expecting 1 as the answer. But I am getting the answer 720
which is 6!.
If I comment the 5th line fact=factorial(6); I am getting the expected result
"1".
The normal explanation for this is memory leak. Can anyone please tell me what
is happening and are you too getting the same result.
I am using redhat linux 7.3 with gcc 2.96
regards
Abhijeet D Mhatre