Back to Course
Functions

Recursion in C: Types, its Working and Examples

What is Recursion?

Recursion occurs when a function calls itself, directly or indirectly, to solve a problem by breaking it into smaller subproblems.

Example: Factorial

int factorial(int n) {
    if (n == 0) return 1;      // base case
    return n * factorial(n-1); // recursive case
}

Types of Recursion

  • Direct recursion — a function calls itself directly.
  • Indirect recursion — function A calls function B, which calls function A again.
  • Tail recursion — the recursive call is the last statement in the function.

Key Requirement

Every recursive function must have a base case to stop the recursion — otherwise it results in infinite recursion and a stack overflow.

Ready to master real-world C Programming development?

Learn C Programming hands-on with mentor-led, live sessions.

Explore Course