Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

exit(0) vs exit(1) in C/C++ with Examples

  • Difficulty Level : Basic
  • Last Updated : 16 Jan, 2020

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++:

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
  1. 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.

  2. 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_SUCCESSThe 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.



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!