Функция exit(), находящаяся в стандартной библиотеке, вызывает немедленное окончание работы программы. Поскольку функция exit() останавливает выполнение программы и форсирует возврат в операционную систему, она используется для управления устройствами, и ее использует подавляющее большинство программ. Функция exit() имеет следующий вид:
void exit (int статус);
Она использует заголовочный файл stdlib.h. Значение статуса возвращается в операционную систему.
Для индикации корректности завершения работы exit() традиционно вызывается с аргументом 0.
Другие аргументы используются для индикации различного рода ошибок. Можно также использовать предопределенные макросы EXIT_SUCCESS и EXIT_FAILURE в качестве значений для статуса.
exit() используется, когда условия выполнения программы неудовлетворительны. Например компьютерная игра может требовать специальный графический адаптер. Функция main() данной игры может выглядеть следующим образом:
#include <stdlib.h>
int main(void)
{
if (!special_adaptor()) exit(1);
play ();
return 0;
}
где special_adaptor() - это определенная пользователем функция, возвращающая истину, если необходимый адаптер присутствует. Если карта в системе отсутствует, то данная функция возвращает ложь и программа завершает работу.
В другом примере exit() используется для выхода из программы и возврата в операционную систему
void menu(void)
{
char ch;
printf ("1. Check Spelling\n");
printf ("2. Correct Spelling, Errors\n");
printf("3. Display Spelling Errors\n");
printf("4. Quit\n");
printf(" Enter your choice: ");
do {
ch = getchar(); /* чтение клавиатуры */
switch(ch)
{
case '1':
check_spelling();
break;
case '2':
correct_errors();
break;
case '3':
display_errors ();
break;
case '4':
exit(0); /* возврат в ОС*/
}
}
while(ch!='1' && ch!='2' && ch!='3');
}