Mastering Recursion in C: Tips and Examples

Theodore Tsori
2 min readJan 2, 2023

--

Recursion is a programming technique that allows a function to call itself. It can be a powerful tool for solving problems, but it’s important to use it carefully because it can also lead to infinite loops if not implemented correctly.

Photo by Henry & Co. on Unsplash

In C, a function can call itself by using its own name followed by a set of parentheses and a semicolon. For example:

void recursiveFunction() {
// function code goes here
recursiveFunction(); // function calls itself
}

It’s important to include a base case in your recursive function, which is a condition that stops the function from calling itself again. Without a base case, the function will continue calling itself indefinitely, resulting in an infinite loop.

Here’s an example of a recursive function that calculates the factorial of a given number:

#include <stdio.h>

int factorial(int n) {
if (n == 0) { // base case
return 1;
}
else {
return n * factorial(n-1); // function calls itself
}
}

int main() {
int num = 5;
printf("%d! = %d\n", num, factorial(num)); // prints "5! = 120"
return 0;
}

In this example, the base case is when n is equal to 0, in which case the function returns 1. Otherwise, the function returns n multiplied by the factorial of n-1. This continues until n reaches 0, at which point the base case is met and the function stops calling itself.

Another example of recursion is a function that calculates the nth term in the Fibonacci sequence:

#include <stdio.h>

int fibonacci(int n) {
if (n == 0) { // base case
return 0;
}
else if (n == 1) { // base case
return 1;
}
else {
return fibonacci(n-1) + fibonacci(n-2); // function calls itself twice
}
}

int main() {
int num = 10;
printf("The 10th term in the Fibonacci sequence is: %d\n", fibonacci(num)); // prints "The 10th term in the Fibonacci sequence is: 34"
return 0;
}

In this example, the base cases are when n is equal to 0 or 1, in which case the function returns 0 or 1 respectively. Otherwise, the function returns the sum of the previous two terms in the Fibonacci sequence by calling itself with n-1 and n-2. This continues until n reaches 0 or 1, at which point the base cases are met and the function stops calling itself.

Recursion can be a useful tool for solving problems in C, but it’s important to include a base case to avoid infinite loops.

Thank you for reading please like and follow for more creative content like this.

--

--

Theodore Tsori

A passionate fin-tech writer who loves to share engaging and informative content on the latest developments in the world of finance and technology.