Loading...
Loading...
00:00:00

What Is Recursion?

In C language, function can call itself. When a function is calling itself, it is known as recursion. Every recursive function must have terminating condition otherwise function calling again and again until stack is not full and it may be dangerous.

Here is the example to calculate the factorial of given number using recursion.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    int x = 5;
    int factorial(int num)
    {
        if (num <= 1) // teminating condition
            return 1;
        return (num * factorial(num - 1));  // recursive call
    }
    printf("The factorial of %d is %d\n", x, factorial(x));
    return 0;
}

Another example of recursive function - To get nth terms of fibonacci series.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    int get_nth_fibonacci_term(int num)
    {
        if (num == 1)  // terminating condition
            return 1;  
        if (num == 0)  // terminating condition
            return 0;
        return (get_nth_fibonacci_term(num - 1) + get_nth_fibonacci_term(num - 2));  // recursion
    }
    for (int i = 1; i <= 10; i++)
        printf("The %d terms of fibonacci series is %d \n", i, get_nth_fibonacci_term(i));
    return 0;
}