Язык C, завершение работы программы внутри пользовательской функции
Консольная программа предназначена для интерактивной работы, однако я хочу предусмотреть ситуацию если программа встретит символ EOF. Это может произойти при выполнении куска кода внутри пользовательской функции. Как немедленно и полностью завершить работу программы? Пример кода:
int get_num_decision(void) {
int num = 0;
int num_decision = 0;
while ((num = scanf("%d", &num_decision) != 1) || (num_decision > 5) || (num_decision < 1)) {
if (num_decision == EOF)
exit(EXIT_SUCCESS);
while((num = getchar()) != '\n')
if (num == EOF)
exit(EXIT_SUCCESS);
}
return num_decision;
}
Программа завершает работу, но как то не сразу, отображаются пункты меню записанные в одной из следующих пользовательских функций и только после этого программа завершает работу, как надо чтобы вот прямо сразу: стоп и всё