Рекомендуємо, 2022

Вибір Редакції

Різниця між виходом (0) і виходом (1)

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

Давайте вивчимо різницю між виходом (0) і виходом (1) за допомогою діаграми порівняння.

Діаграма порівняння

Основа для порівняннявийти (0)exit (1)
ОсновнийПовідомляє операційну систему про "успішне / нормальне" завершення / завершення програми.Повідомляє операційну систему про "ненормальне" припинення програми.
Синтаксисвихід (0);вихід (1);
ПозначаєВона вказує, що завдання успішно виконано.Вона вказує, що завдання було перервано через помилку.
МакросиEXIT_SUCCESSEXIT_FAILURE

Визначення виходу (0)

Вихід функції (0) - це оператор стрибка C ++. Він використовується для припинення роботи програми або для виходу з неї керування. Він повідомляє операційній системі про успішне завершення роботи програми, яка вказує операційній системі, що завдання програми успішно завершено. Макрос, який використовується для коду повернення "0", - це "EXIT_SUCCESS", отже, ви можете використовувати його для виходу (EXIT_SUCCESS). Загальна форма функції виходу (0): -

 void exit (int return_code); 

Тут формальний параметр “return_code” є значенням, яке повертається функції виклику. Код returen_code завжди має цілий тип, оскільки значення, що повертається функції виклику, буде або нульовим, або ненульовим значенням. Вихід (0) - це стандартна функція бібліотеки, якщо ми використовуємо exit (0) в програмі, ми повинні використовувати заголовочний файл.
Давайте зрозуміємо вихід (0) на прикладі: -

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

У наведеному вище коді ми намагаємося відкрити файл з ім'ям "myfile.txt". Ми створили покажчик на файл "myfile.txt". Якщо файл "myfile.txt" існує, то покажчик вкаже на адресу цього файлу, а exit (0) виконає звіт операційної системи про успішне відкриття файлу. У випадку, якщо файлу немає, то покажчик на файл "myfile.txt" тепер міститиме NULL і вийти (1) отримає виконати звітування операційної системи, що файл не відкривається через помилку або щось.

Визначення виходу (1)

Вихід функції (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 << "стек є перевантаженим"; вихід (1); } else {int s = s [Нагору]; Top--; повернення; }} 

Тут функція визначена для висування елемента у верхній частині стека, якщо верхня частина стека виявляється порожньою, тобто верхня - -1. Тоді завдання виштовхування верхнього елемента у стеку не завершується успішно, оскільки стек порожній, після чого повертається вихід (1). Вона вказує на те, що завдання функції спливу не завершено. Отже, виконання аномально припиняється.

Ключові відмінності між виходом (0) і виходом (1)

  1. Єдиним кодом return_code, який вказує на успішне завершення програми, є "0". Для повідомлення про ненормальне завершення програми, ми можемо використовувати будь-яке значення, відмінне від «0», тобто ми можемо використовувати «1», «2», «3»… це означає, що ненульове значення вказує на ненормальне завершення програми.
  2. Макро також можна використовувати замість коду return_code. Так, на місці “0” можна використовувати “EXIT_SUCCESS”, тоді як замість “1” можна використовувати “EXIT_FAILURE”.

Подібність:

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

Примітка:

Якщо функція exit () не повертає нічого, це означає, що вона не бажає розкривати стан завершення програми операційній системі.

Висновок:

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

Top