scanf funktioniert nicht gut in 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;
        }

jemand hilft mir, mein Problem zu verstehen. Aus irgendeinem Grund lautet die Ausgabe dieses Codes "Möchtest du y \ n beenden?". getchar ... "Entschuldigung, hast du nicht verstanden, dass du y \ n beenden willst?"

Es sieht aus wie es sprang über diescanf() zum ersten Mal und das Programm ging direkt auf dieelse ==>"sorry i didnt get that" und erst beim zweiten Mal wird herausgefunden, wie man das @ benutscanf().

Antworten auf die Frage(8)

Ihre Antwort auf die Frage