Scanf не работает хорошо в C

    if (a % 5)
            goto ask;
            else
            goto main;

ask:printf("Do You Want To Exit ? Y \\ N . . . \n");
        scanf("%c", &YN);
        getch();
        if (YN == 'Y')
        {
y:          system("cls");
            YN = 1;
            goto sign;
        }
        else if (YN == 'y')
            goto y;
        else if (YN == 'N')
        {
n:          system("cls");
            YN = 0;
            goto sign;
        }
        else if (YN == 'n')
        {
            goto n;
        }
        else
        {
            printf("Sorry ..Didn't Catch that ... ");
                goto ask;
        }

кто-то, помогите мне понять мою проблему по какой-то причине, вывод, который я получаю из этого кода: "Вы хотите выйти из y \ n?" getchar ... "прости, не поймал, что ты хочешь выйти y \ n?"

Похоже, он перепрыгнул черезscanf() в первый раз, и программа пошла непосредственно кelse ==>"sorry i didnt get that" и только во второй раз он выясняет, как использоватьscanf().

Ответы на вопрос(4)

Ваш ответ на вопрос