``````#include<stdio.h>
int factorial (int);
void main()
{
int a,fact;
printf("\nEnter a value:");
scanf("%d", &a);
fact= factorial(a);
printf("Factorial value=%d", fact);
}
int factorial (int x)
{
int f=1,i;
for(i=x;i>=1;i--)
f=f*i;
return(f);
}
``````

Enter any number: 3
Factorial value = 6

But i did not undartand this program. Mostly in the loop condition checking in the function part. Can any one describe me the program step by step. Advanced Thanks.

Play computer!
With a pencil and paper!
Go through the factorial function.
What value is x? Write down x = 3
What value is f? Write down f = 1
What value is i? Write down i = x = 3
In the for loop the condition i >=1 is …

## All 2 Replies

Play computer!
With a pencil and paper!
Go through the factorial function.
What value is x? Write down x = 3
What value is f? Write down f = 1
What value is i? Write down i = x = 3
In the for loop the condition i >=1 is true so you enter the loop.
What value will f be now? Cross out the previous value and change it with fXi = 1X3=3.
Hope you got the picture, continue until finished.

In mathematics
Factorial of x=x * (x-1) * (x-2) * (x-3)................(x-(x-2)) * (x-(x-1))
If x=3 the
Factorial of 3=3 * (3-1) * (3-2)=3 * 2 * 1=6
You can represent it by any one Symbols of L or !.
So, 3!=3 * 2 * 1=6

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.19 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.