Home / Programs / C Program - Factorial of a Number using Command Line Argument Program, By creating a function
🚀 Programming Example

C Program - Factorial of a Number using Command Line Argument Program, By creating a function

👁 2,377 Views
💻 Practical Program
📘 Step Learning
Problem Statement: Write a C program to calculate the factorial of a non-negative integer N. The factorial of a number N is defined as the product of all integers from 1 up to N. Factorial of 0 is defined to be 1. The number N is a nonnegative integer that will be passed to the program as the first command line parameter. Write the output to stdout formatted as an integer WITHOUT any other additional text. You may assume that the input integer will be such that the output will not exceed the largest possible integer that can be stored in an int type variable.

💻 Program Code

#include <stdio.h>		// for printf
#include <stdlib.h>		// for function atoi() for converting string into int
// Function to return fact value of n
int fact (int n) 
{
  
if (n == 0)
    
return 1;
  
  else
    {
      
int ans = 1;
      
int i;
      
for (i = 1; i <= n; i++)
	{
	  
ans = ans * i;
	
}
      
return ans;
    
}

}


// argc tells the number of arguments
// provided+1 +1 for file.exe
// char *argv[] is used to store the
// command line arguments in the string format
int main (int argc, char *argv[]) 
{
  
// means only one argument exist that is file.exe
    if (argc == 1)
    {
      
    printf ("No command line argument exist Please provide them first \n");
      
    return 0;
        
    }
  else
    {
      
    int i, n, ans;
      
    // actual arguments starts from index 1 to (argc-1)
	for (i = 1; i < argc; i++)
	{
	  
    // function of stdlib.h to convert string
    // into int using atoi() function
	    n = atoi (argv[i]);
	  
 
    // since we got the value of n as usual of
    // input now perform operations
    // on number which you have required
	    
    // get ans from function
	    ans = fact (n);
	  
 
    // print answer using stdio.h libraryb
                        

🖥 Program Output

120
                            

📘 Explanation

Example:

If the argument is 4, the value of N is 4. 
So, 4 factorial is 1*2*3*4 = 24.
Output: 24
The code below takes care of negative numbers but at the end of the page there
is easier code which though doesn't take negative numbers in consideration.
📚 Learning Subject

Master Programming Through Practical Examples

Improve your coding logic, problem-solving skills and programming confidence by practicing real-world examples with explanations.

🎯 How to learn from this example

First understand the algorithm carefully. Then study the program line-by-line and compare it with the output. Finally, review the explanation section to strengthen your logic and programming understanding.

🔥 Practice suggestion

Rewrite the program without looking at the code. Modify values, conditions or logic and run it again. This helps improve confidence and strengthens coding skills much faster.