The textbook asks, why might Factorial(0) return 0, and to be honest I have no clue. The call trace would look like:Code:int Factorial(int n) { if(n == 1){ return 1; } else{ return n * Factorial(n -1); } }
Facorial(0) = 0 * Factorial(-1)
= 0* (-1) * Factorial(-2)...
it would just go into an infinite regress.
The only way I see it returning 0, if it runs out of resources, and somehow returns a 0, or grabs some piece of memory, which could have been a 0.
Any other possibilities?
Thanks