unexpected output in C (recursion)

The reason for the zeros is that i is decremented down to zero before the very first printf statement is run. As it unwinds, it prints i (which is still zero) each time.

It would be better to use a separate function that main() calls and passes a parameter to (and then pass the parameter to each call rather than using a static variable).

Leave a Comment