exit (0) vs exit (1) в C / C ++ с примерами

Опубликовано: 2 Декабря, 2021

exit - это оператор перехода на языке C / C ++, который принимает целое число (ноль или ненулевое значение) для представления другого статуса выхода.

В C / C ++ существует два типа статуса выхода:

  1. Exit Success: Exit Success обозначается оператором exit (0), который означает успешное завершение программы, т.е. программа была выполнена без ошибок или прерываний.
    #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);
    }

    Примечание. Создайте файл с именем myFile.txt и запустите код на локальном устройстве, чтобы увидеть результат.

  2. Ошибка выхода: Ошибка выхода указывается выходом (1), что означает аварийное завершение программы, то есть возникла некоторая ошибка или прерывание. Мы можем использовать разные целые числа, отличные от 1, для обозначения различных типов ошибок.
    #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);
    }

Давайте посмотрим на разницу между этими двумя утверждениями -

выход (0) выход (1)
Сообщает об успешном завершении / завершении программы. Сообщает об аварийном завершении работы программы.
Сообщает о завершении, когда программа выполняется без ошибок. Сообщает о завершении, когда во время выполнения программы возникает какая-либо ошибка или прерывание.
Синтаксис: exit (0); Синтаксис: exit (1);
Использование exit (0) полностью переносимо. Использование exit (1) не переносимо.
Для кода возврата 0 используется макрос EXIT_SUCCESS. Для кода возврата 1 используется макрос EXIT_FAILURE.
EXIT_SUCCESS определяется стандартом как ноль. EXIT_FAILURE не ограничен стандартом как единое целое, но многие системы реализуют его как единое целое.
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .