Explain recursive function in C language with program

CServer Side ProgrammingProgramming

Recursive Functions is the process of defining something in terms of itself. It is a function that calls itself again in the body of the function.

A function fact ( ), that computes the factorial of an integer ‘N’ ,which is the product of all whole numbers from 1 to N.

When fact ( ) is called with an argument of 1 (or) 0, the function returns 1. Otherwise, it returns the product of n*fact (n-1), this happens until ‘n’ equals 1.

Fact (5) =5* fact (4)
   =5*4*3* fact (3)
   =5*4*3*2* fact (2)
   =5*4*3*2*1 fact (1)
   = 120.


Following is the C program for recursive function −

 Live Demo

int main ( ){
   int n,f;
   int fact (int);
   printf ("enter a number");
   scanf ("%d", &n);
   f= fact (n);
   printf ("factorial value = %d",f);
int fact (int n){
   int f;
   if ( ( n==1) || (n==0))
      return 1;
   else f= n*fact (n-1);
      return f;


When the above program is executed, it produces the following result −

Enter a number 5
Factorial value = 120
Updated on 13-Mar-2021 11:46:38