Using recursion is great because it takes many of the incremental sub problems out of your hands. But when you are try to fully understand the sub problems that you are solving and how they are being solved, it might be worth implementing an iterative solution.
Is it necessary to use recursion?
Recursive thinking is really important in programming. It helps you break down bit problems into smaller ones. Often, the recursive solution can be simpler to read than the iterative one.
Is recursion bad in C?
The Bad. In imperative programming languages, recursive functions should be avoided in most cases (please, no hate mail about how this isn't true 100% of the time). Recursive functions are less efficient than their iterative counterparts. Additionally, they are subject to the perils of stack overflows.