Skip to main content

main function in C

main() function is mandatory for any C program.  Because, the program execution starts from main().  Default return type for main function is an integer.  Return value from main function could help us to find the exit status of a C program.

Consider the following example,
 
#include <stdio.h>
int main() {
int val;
printf("Enter an integer: ");
scanf("%d", &val);

if (val < 0) {
printf("%d is negative\n", val);
return (-1);
} else {
printf("%d is positive\n", val);
return (val);
}
}

  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  Enter an integer: -1
  -1 is negative
  jp@jp-VirtualBox:~/$ echo $?
  255  // exit status of the program
  jp@jp-VirtualBox:~/$ ./a.out
  Enter an integer: 50
  50 is positive
  jp@jp-VirtualBox:~/$ echo $?
  50  // exit status of the program


How to get exit status of a command?
"echo $?" provides exit status of any program.  Here, the exit codes of our program are the return values from main function.  Exit codes are from 0 to 255(unsigned char).  So, shell would return 255 for the exit code -1(wraparound occurs).

What is command line argument?
Basically, command is an executable used to perform a specific task(eg. ls command). Any arguments supplied to an executable(command) are called command line arguments.

Example:
ls -a  => lists all files in a directory(including hidden files)

Here,
ls  - command
-a - command line argument

main function with command line arguments:
main function can be written with no arguments or with command line arguments.

Consider the following example,
int main(int argc, char *argv[]) {
         : 
       return 0;
}

Here, we have written main function with command line arguments.
argc and argv are command line arguments.
argc    - number of command line arguments
*argv[] - array of character pointers

How to pass command line arguments in C?
While executing program in the shell, we can supply arguments along with executable name.

Example: ./a.out   arg1  arg2  arg3
./a.out  - Executable
arg1, arg2, arg3 - command line arguments

Example C program to illustrate command line arguments:
 
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
for (i = 0; i < argc; i++) {
printf("argv[%d]: %s\n", i, argv[i]); // prints command line arguments
}
return 0;
}

  Output:
  jp@jp-VirtualBox:~/$ ./a.out india is my country
  argv[0]: ./a.out
  argv[1]: india
  argv[2]: is
  argv[3]: my
  argv[4]: country



Comments

Popular posts from this blog

restorecrtmode example in c

Header file:     graphics.h Synopsis:        void restorecrtmode();       Description:       restorecrtmode() restores screen mode to text mode. restorecrtmode function in c graphics   #include <graphics.h>   #include <stdlib.h>   #include <stdio.h>   #include <conio.h>   int main(void) {         /* request auto detection */         int gd = DETECT, gmode, err;         int midx, midy;         /* initialize graphics and local variables */         initgraph(&gd, &gmode, "C:/TURBOC3/BGI");         /* read result of initialization */         err = graphresult();         if (err != grOk) {                 /* an error occurred */               ...

How to install JDK and setting environment variables for java

In this tutorial, we are going to see the following. How to install JDK How to run java program without setting java path How to set temporary java path in windows How to set permanent java path in windows How to install JDK? Check whether JDK is installed on your PC.  If it is not installed, please go to the below link and download JDK under Java SE(Java Standard Edition) in oracle website . Install the downloaded JDK in your PC. Once JDK is installed, you can run your java program using any method shown below. Having your java source code under jdk/bin, compile the source code and run the program from same directory Setting temporary path for java, compiling the source code and running the program from any location using command prompt Updating the java path in system or user variable(in system properties), compiling the source code and running the program anywhere using command prompt Let us see how to run java program without setting environmental variables.  Once java is ...

Save image in Microsoft Paint without white background

Here, we are going to see how to save image in mspaint without white background 1. Create your own drawing or painting 2. Crop the needed portion of your drawing or painting or image. Here, I am going to crop the porting inside the red box. Now, we have cropped the portion that needs to be saved as an image. 5. Clear the screen and paste the image which we cropped earlier. 6. Decrease the screen size by 50% 7. Now, adjust your screen to fit to your image size. 8. Save the image to desired file format(jpeg, png, bmp etc) 9. Go to the saved location and open the file.  Below is the output image of mine Hope you liked this article!!  For any suggestions, please comment below.