scanf no funciona bien en 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;
        }

alguien me ayuda a entender mi problema por alguna razón, el resultado que obtengo de este código es "¿Quieres salir y \ n?" getchar ... "lo siento, no pillas eso ¿quieres salir y \ n?"

Parece que saltó sobre elscanf() por primera vez y el programa fue directamente alelse ==>"sorry i didnt get that" y solo en la segunda vez descubre cómo usar elscanf().

Respuestas a la pregunta(4)

Su respuesta a la pregunta