Рекомендуем, 2024

Выбор редакции

Разница между выходом (0) и выходом (1)

Выход (0) и выход (1) являются операторами перехода C ++, которые заставляют элемент управления выпрыгивать из программы во время ее выполнения. Обе функции, exit (0) и exit (1), используются для выхода из программы, но есть одно существенное отличие между exit (0) и exit (1). Выход (0) показывает успешное завершение программы, а выход (1) показывает ненормальное завершение программы.

Изучите разницу между выходом (0) и выходом (1) с помощью сравнительного графика.

Сравнительная таблица

Основа для сравненияВыход (0)выход (1)
основнойСообщает операционной системе об «успешном / нормальном» завершении / завершении программы.Сообщает операционная система о «ненормальном» завершении работы программы.
СинтаксисВыход (0);выход (1);
УказываетЭто указывает на то, что задача была успешно выполнена.Это указывает на то, что задача была прервана между из-за ошибки.
макросEXIT_SUCCESSEXIT_FAILURE

Определение выхода (0)

Функция exit (0) является оператором перехода в C ++. Он используется, чтобы завершить программу или позволить элементу управления выйти из программы. Он сообщает операционной системе об успешном завершении программы, что указывает операционной системе, что задача программы была успешно выполнена. Макрос, используемый для кода возврата «0», это «EXIT_SUCCESS», так что вы можете использовать его как выход (EXIT_SUCCESS). Общая форма функции выхода (0):

 void exit (int return_code); 

Здесь формальный параметр «return_code» - это значение, которое возвращается вызывающей функции. Код returen_code всегда имеет целочисленный тип, поскольку значение, возвращаемое вызывающей функции, будет либо нулевым, либо ненулевым значением. Выход (0) - это стандартная библиотечная функция, если мы используем в программе выход (0), мы должны использовать файл заголовка.
Давайте разберем выход (0) с примером:

 #include // стандартная библиотечная функция int main () {FILE * ptrFile; ptrFile = fopen ("myfile.txt", "r"); // открыть файл в режиме только для чтения if (ptrFile == NULL) {cout << "Ошибка при открытии файла"; выход (1); // поочередно вы можете использовать exit (EXIT_FAILURE)} exit (0); // поочередно вы можете использовать выход (EXIT_SUCCESS)} 

В приведенном выше коде мы пытаемся открыть файл с именем «myfile.txt». Мы создали указатель на файл «myfile.txt». Если файл «myfile.txt» существует, указатель укажет на адрес этого файла, и exit (0) выполнит, сообщив операционной системе, что файл успешно открыт. Если файл отсутствует, указатель на файл «myfile.txt» теперь будет содержать NULL, а exit (1) получит команду execute, сообщающую операционной системе, что файл не открывается из-за ошибки или чего-то еще.

Определение выхода (1)

Функция exit (1) также является оператором перехода в C ++. Выход (1) также завершает программу, но ненормально. Выход (1) сообщает операционной системе, что программа не была успешно выполнена или она прервана между выполнением из-за той или иной ошибки. Функция exit (1) определена в стандартной библиотечной функции, в случае, если вы используете exit (1) в своей программе, вы должны указать файл заголовка вверху программы.
Макросом для кода возврата «1» является «EXIT_FAILURE», поэтому его можно записать способом «exit (EXIT_FAILURE)».
Теперь давайте разберемся с функцией выхода (1) с помощью программы.

 // вставляем элемент в верхнюю часть стека int pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "stack is underflow"; выход (1); } else {int s = s [Top]; Верхний--; возврат (ы); }} 

Здесь функция определена для выталкивания элемента в верхнюю часть стека, если верхняя часть стека оказывается пустой, то есть вершина равна -1. Тогда задача вытаскивания самого верхнего элемента в стеке не будет успешно завершена, так как стек пуст, тогда мы возвращаем exit (1). Это указывает на то, что задача функции pop не была выполнена. Следовательно, выполнение прекращается ненормально.

Ключевые различия между выходом (0) и выходом (1)

  1. Единственный код возврата, который указывает на успешное завершение программы, - «0». Для сообщения о ненормальном завершении программы мы можем использовать любое значение, отличное от «0», т.е. мы можем использовать «1», «2», «3»… это означает, что ненулевое значение указывает на ненормальное завершение программы.
  2. Макрос также можно использовать вместо кода возврата. Например, вместо «0» вы можете использовать «EXIT_SUCCESS», тогда как вместо «1» вы можете использовать «EXIT_FAILURE».

Сходство:

  1. И выход (0), и выход (1) являются операторами перехода C ++.
  2. Оба выхода (0) и выхода (1), используются для завершения программы.
  3. И выход (0), и выход (1) определяются в заголовочном файле.
  4. И выход (0), и выход (1) сообщают оператору о состоянии завершения программы.

Замечания:

Если функция exit () ничего не возвращает, это означает, что она не хочет показывать состояние завершения программы операционной системе.

Заключение:

Чтобы сообщить о статусе завершения программы, используется функция exit (). Выход (0) показывает операционной системе, что задача программы успешно выполнена. Выход (1) показывает, что задача программы не выполнена, и выполнение программы ненормально прервано.

Top