# Factorial Program in C

## Factorial Program in C

We have explained what Factorial of a number in Mathematics is? We have shared that how to find factorial of a number in PHP. So if you want to know what is a factorial in mathematics? Check the post What Is A Factorial here.

Today we are going to share factorial program in c. As you know that the factorial of zero or 0 factorial is equal to 1 and 1 factorial is equal to 1 as well. So keep these in mind and the definition of factorial.

## What is factorial?

“Factorial of a number n is a product of all non-negative integers less than or equal to n written as n!” Negative numbers don’t have any factorial.

In mathematics you can write n! = 1 x 2 x 3 x 4….. x n.

Here is the C Program to Find Factorial of a Number. The program uses a for loop and returns a factorial. I have made the C Function to Find Factorial of a Number as simple as possible.

### Factorial program in C using a for loop:

```#include <stdio.h>
int main(){
int x, i;
unsigned long long factorial = 1;
printf("Enter an integer: ");
scanf("%d",&x);
// As negative numbers are not allowed, error will be shown.
if (x < 0){
printf("Negative numbers do not have factorial.");
} else  {
for(i=1; i<=x; ++i)  {
factorial *= i; // factorial = factorial*i;
}
printf("Factorial of %d = %llu", x, factorial);
}

return 0;
}

```

Output of C Program to Find Factorial of a Number:

Enter an integer: 4

Factorial of 4 = 24

The above function is using for loop to find a factorial, but now we are going to use the recursion method to find a factorial. Here is the factorial program in C using recursion:

### Factorial program in C using recursion

```#include<stdio.h>

long factorial(int);

int main(){
int n;
long f;
scanf("%d", &n);
if (n < 0){
printf("Negative numbers have no factorial.\n");
}else{
f = factorial(n);
printf("%d! = %ld\n", n, f);
}
return 0;
}

long factorial(int n){
if (n == 0){
return 1;
}else{
return(n * factorial(n-1));
}
}
```