Сегодня мы поговорим о функции exit() в C++. Как вы наверняка знаете, в C++ выйти из циклов можно при помощи встроенной функции break. Используя функцию exit(), можно точно так же выйти из всей программы C++.
Представьте ситуацию: вы должны сделать некоторые выводы по поводу работы вашей программы. Вы получаете результат и делаете какой-то вывод до того, как программа будет скомпилирована или оценена.
Как завершить работу программы, получив необходимую информацию или результат?
Ответ на поставленный выше вопрос – использовать встроенную функцию exit(). Итак, давайте же подробнее рассмотрим данную функцию и то, как она работает.
Определение функции exit()
Теоретически функция exit() в C++ приводит к завершению соответствующей программы, как только эта функция выполняется, – то есть независимо от того, где она появляется в программе. Функция определена в заголовочном файле stdlib.h, который необходимо включать при использовании функции exit().
Синтаксис функции exit()
Функция exit() использует приведенный ниже синтаксис.
exit( exit_value );
Здесь exit_value — это значение, переданное операционной системе после успешного завершения программы. Данное значение можно проверить в пакетных файлах, где ERROR LEVEL показывает нам возвращаемое значение, предоставленное функцией exit(). Как правило, значение 0 указывает на успешное завершение, а любое другое число сообщает, что произошла какая-то ошибка.
Работа функции exit() в C++
Помните, что функция exit() никогда не возвращает никакого значения. Она завершает процесс и выполняет стандартную очистку завершения программ.
Кроме того, при вызове этой функции автоматические объекты хранилища не уничтожаются.
Посмотрите внимательно на пример ниже:
#include<iostream> using namespace std; int main() { int i; cout<<"Enter a non-zero value: "; //user input cin>>i; if(i) // checks whether the user input is non-zero or not { cout<<"Valid input.\n"; } else { cout<<"ERROR!"; //the program exists if the value is 0 exit(0); } cout<<"The input was : "<<i; }
Вы получите такой вывод:
Enter a non-zero value: 0 ERROR!
- Поскольку пользовательский ввод для представленного выше кода равен нулю (0), выполняется часть else оператора if-else. Дальше компилятор встречает функцию exit() и завершает программу.
- Оператор print после if-else не выполняется, так как программа уже была завершена функцией exit().
Теперь давайте посмотрим на другой пример, в котором мы попытаемся определить, является число простым или нет.
Использование функции exit()
В приведенной ниже программе вы увидите, как используется функция exit().
#include<iostream> using namespace std; int main() { int i,num; cout<<"Enter the number : "; cin>>num; for(i=2;i<=num/2;i++) { if(num%i==0) { cout<<"\nNot a prime number!"; exit(0); } } cout<<"\nIt is a prime number!"; return 0; }
Вы получите такой результат:
Давайте рассмотрим приведенный выше код подробнее:
- Сначала мы взяли пользовательский ввод числа. Нам нужно было проверить, является это число простым или нет.
- После этого мы применили цикл for, который работает от 2 до n/2, поскольку мы уже знаем, что все числа делятся на 1, а число неделимо на числа, превышающие его половину.
- Внутри цикла for мы проверили, делится ли число на итератор цикла в данный момент. Если это так, мы можем напрямую заключить, что число не является простым, и завершить программу с помощью функции exit().
- В противном случае цикл продолжает проверку. После выполнения всей структуры цикла программа объявляет число простым.
Заключение
В этом руководстве мы изучили работу и использование встроенной функции exit() в C++. Она широко используется для завершения выполнения программы.
Читайте также: