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;
// opening the file in read-only mode
file =
fopen
(
"myFile.txt"
,
"r"
);
printf
(
"File opening successful!"
);
// EXIT_SUCCESS
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;
// open the file in read-only mode
file =
fopen
(
"myFile.txt"
,
"r"
);
if
(file == NULL) {
printf
(
"Error in opening file"
);
// EXIT_FAILURE
exit
(1);
}
// EXIT_SUCCESS
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. |
Please Login to comment...