Writing Recursive Functions in C