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

Автор: Laura McKinney
Дата создания: 2 Апрель 2021
Дата обновления: 12 Май 2024
Anonim
Академия. Выпуск №2. Выход 1-в-0
Видео: Академия. Выпуск №2. Выход 1-в-0

Содержание


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

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

  1. Сравнительная таблица
  2. Определение
  3. Ключевые отличия
  4. Заключение

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

Основа для сравненияВыход (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) с примером:

#включают // стандартная библиотечная функция 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; Верхний--; возврат (ы); }}

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

  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) показывает, что задача программы не выполнена, и выполнение программы ненормально прервано.