C Programming Tutorial


Recursion in C

When a function calls itself from its body is called Recursion.


  • Reduce unnecessary calling of function.
  • Through Recursion one can Solve problems in easy way while its iterative solution is very big and complex.


  • Recursive solution is always logical and it is very difficult to trace.(debug and understand).
  • In recursive we must have an if statement somewhere to force the function to return without the recursive call being executed, otherwise the function will never return.
  • Recursion takes a lot of stack space, usually not considerable when the program is small and running on a PC.
  • Recursion uses more processor time.

Example : C program to calculate factorial using recursion


	long Factorial(int);

	void main()
              int num;
              long fact;

              printf("\n\tEnter any positive number : ");

              fact = Factorial(num);

              printf("\n\tThe Factorial of %d is %ld",num,fact);


	long Factorial(int num)
              if (num == 1)
		return 1;
		return num*Factorial(num-1);

   Output :

              Enter any positive number : 
              The Factorial of 10 is 3628800

Related topics