C-Programming

This article is a program to find factorial in C language using recursive function. Before going straight to the code, let’s talk about Recursive functions and what are they?

Recursive function is a tricky topic in C. They are the functions which calls themselves. So whenever you see a function which contains its own name that means its calling itself and hence it is recursive. They use Stack data structure to work.

There is a little something important about Recursive function which we should all remember while writing them, that is an if statement must be there. That means if I write a recursive function and it calls itself then there must be a point that it must stop calling itself or the loop must have a stopping statement, Because if it doesn’t then the function will call itself forever, going into an infinite loop.

Now, let’s get to the code,

CODE:

#include
void main(){
	int n;
	printf("Enter a number:");
	scanf("%d",&n);
	if(n<0){
		printf("Invalid number");	
	}
	else
	{
		printf("Factorial of %d is %d",n,fact(n));// fact(n) is used here
	}
}
//fact function
int fact(int x)
{
//if statement to end the calling 
	if(x == 0) 
	{
	return 1;
}
else
{ //actual formula for recursion
	return(x*fact(x-1));//fact function is calling itself here and each time decreasing its value by 1 
//until x == 0 then it will stop.
}
}

OUTPUT:program to find factorial using recursive function in C

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.