For any positive number n, its factorial is given by:
factorial = 1*2*3*4....n
If a number is negative, factorial does not exist and factorial of 0 is
1.
This program takes an integer from a user. If user enters negative
integer, this program will display error message and if user enters
non-negative integer, this program will display the factorial of that number.
Source Code to Find Factorial
of a Number
/* C program to display
factorial of an integer if user enters non-negative integer. */
#include <stdio.h>
#include <conio.h>
void main()
{
    int n, count;
    clrscr();
    unsigned long long int factorial=1;         
    printf("Enter an integer: ");
    scanf("%d",&n);
    if ( n< 0)
        printf("Error!!! Factorial of
negative number doesn't exist.");
    else
    {
       for(count=1;count<=n;++count)    /* for loop terminates if count>n */
       {
          factorial*=count;              /* factorial=factorial*count */
       }
    printf("Factorial = %lu",factorial);
    }
    getch();
}
Output 1
Enter an integer: -5
Error!!! Factorial of negative
number doesn't exist.
Output 2
Enter an integer: 10
Factorial = 3628800
Here the type of factorial variable is declared as: unsigned long long. It is because, the factorial is always positive, so unsigned keyword
is used and the factorial of a number can be pretty large. For example: the
factorial of 10 is 3628800 thus, long long keyword is used.