Can anyone tell me? What is the difference between exit(0)
and exit(1)
in C language?
What is the difference between exit(0)
and exit(1)
in C language?
exit(0)
indicates successful program termination & it is fully portable, While
exit(1)
(usually) indicates unsucessful termination. However, it's usage is non-portable.
Note that the C standard defines EXIT_SUCCESS
and EXIT_FAILURE
to return termination status from a C program.
0
and EXIT_SUCCESS
are the values specified by the standard to indicate successful termination, however, only EXIT_FAILURE
is the standard value for returning unsucessful termination. 1
is used for the same in many implementations though.
Reference:
C99 Standard: 7.20.4.3 The exit
function
Para 5
Finally, control is returned to the host environment. If the value of status is zero or
EXIT_SUCCESS
, an implementation-defined form of the status successful termination is returned. If the value of status isEXIT_FAILURE
, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.