exit(0) vs exit(1) in C/C++ with Examples
exit is a jump statement in C/C++ language which takes an integer (zero or non zero) to represent different exit status.
There are two types of exit status in C/C++:
- Exit Success: Exit Success is indicated by exit(0) statement which means successful termination of the program, i.e. program has been executed without any error or interrupt.
#include <file.h>
#include <stdio.h>
int main()
{
FILE * file;
file = fopen ( "myFile.txt" , "r" );
printf ( "File opening successful!" );
exit (0);
}
|
Note: Create a file called ‘myFile.txt’ and run the code in your local device to see the output.
- Exit Failure: Exit Failure is indicated by exit(1) which means the abnormal termination of the program, i.e. some error or interrupt has occurred. We can use different integer other than 1 to indicate different types of errors.
#include <file.h>
#include <stdio.h>
int main()
{
FILE * file;
file = fopen ( "myFile.txt" , "r" );
if (file == NULL) {
printf ( "Error in opening file" );
exit (1);
}
exit (0);
}
|
Let’s see the differences between these two statements-
exit(0) |
exit(1) |
Reports the successful termination/completion of the program. |
Reports the abnormal termination of the program. |
Reports the termination when the program gets executed without any error. |
Reports the termination when some error or interruption occurs during the execution of the program. |
The syntax is exit(0); |
The syntax is exit(1); |
The usage of exit(0) is fully portable. |
The usage of exit(1) is not portable. |
The macro used for return code 0 is EXIT_SUCCESS |
The macro used for return code 1 is EXIT_FAILURE |
EXIT_SUCCESS is defined by the standard to be zero. |
EXIT_FAILURE is not restricted by the standard to be one, but many systems do implement it as one. |
Last Updated :
16 Jan, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...