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

C Programming Language / Command Line Arguments

2395

Program:

#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

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.

This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.