Нека изследваме разликата между изход (0) и изход (1) с помощта на таблицата за сравнение.
Сравнителна таблица
Основа за сравнение | изход (0) | изход (1) |
---|---|---|
Основен | Отчита операционната система за "успешното / нормалното" прекратяване / завършване на програмата. | Отчита операционната система за "ненормално" прекратяване на програмата. |
Синтаксис | изход (0); | изход (1); |
Показва | Той показва, че задачата е изпълнена успешно. | Той показва, че задачата е била прекъсната между тях поради грешката. |
Макрос | EXIT_SUCCESS | EXIT_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_SUCCESS)}
В горния код се опитваме да отворим файл с име "myfile.txt". Създадохме указател към файла „myfile.txt“. Ако файлът "myfile.txt" съществува, показалецът ще сочи към адреса на този файл и изход (0) ще изпълни отчитането на операционната система, че файлът е успешно отворен. В случай, че файлът не присъства, показалеца към файла “myfile.txt” сега ще съдържа NULL и излизане (1) ще се изпълни докладване на операционната система, че файлът не се отваря поради грешка или нещо такова.
Определение на изход (1)
Изходът на функцията (1) също е оператор за прескачане на C ++. Изходът (1) също прекратява програмата, но ненормално. Изходът (1) съобщава на операционната система, че програмата не е изпълнена успешно или е прекъсната между изпълнението поради някои или друга грешка. Функцията exit (1) е дефинирана в стандартната библиотечна функция, в случай че използвате изход (1) във вашата програма, трябва специално да споменете заглавния файл в горната част на програмата.
Макросът за код за връщане “1” е “EXIT_FAILURE”, така че може да бъде записан по начин “exit (EXIT_FAILURE)”.
Сега нека разберем функцията exit (1) с помощта на програмата.
// поп елемента в горната част на стека int pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "стекът е поток"; изход (1); } else {int s = s [Нагоре]; Връх--; се завръща); }}
Тук функцията се дефинира, за да се изкачи елементът в горната част на стека, ако се установи, че горната част на стека е празна, т.е. горната част е -1. След това задачата за изскачане на най-горния елемент в стека не е завършена успешно, тъй като стека е празен, след което връщаме изход (1). Той показва, че задачата на функцията за поп не е завършена. Следователно, изпълнението се прекратява необичайно.
Ключови разлики между изход (0) и изход (1)
- Единственият код на връщане, който показва успешното завършване на програмата, е „0“. За отчитане на ненормално прекратяване на програмата, можем да използваме всяка стойност, различна от “0”, т.е. можем да използваме “1”, “2”, “3”… което означава ненулева стойност, показваща необичайно прекратяване на програмата.
- Може да се използва и макрос вместо обратния код. Подобно на “0” можете да използвате “EXIT_SUCCESS”, докато вместо “1” можете да използвате “EXIT_FAILURE”.
Сходство:
- И двата изхода (0) и изходът (1) са изреченията за прескачане на C ++.
- И двата изхода (0) и изходът (1) се използват за прекратяване на програмата.
- И двата изхода (0) и изходът (1) са определени в заглавния файл.
- И двата изхода (0) и изходът (1) съобщават за състоянието на прекратяване на програмата на операционната система.
Забележка:
Ако функцията exit () не върне нищо, това означава, че не иска да разкрива състоянието на прекратяването на програмата към операционната система.
Заключение:
За да съобщите за състоянието на прекратяването на програмата, се използва функция exit (). Изход (0) разкрива на операционната система, че задачата на програмата е завършена успешно. Изход (1) показва, че задачата на програмата не е завършена и изпълнението на програмата е прекъснато необичайно.