Язык 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;
}

Программа завершает работу, но как то не сразу, отображаются пункты меню записанные в одной из следующих пользовательских функций и только после этого программа завершает работу, как надо чтобы вот прямо сразу: стоп и всё


Ответы (0 шт):