Scanf Omitir escaneo de caracteres [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Scanf se salta entre sí mientras se repite en C 10 respuestas

Mi problema es que se omite el scanf para el personaje y no comprueba scan the char para ver si quiero repetir el programa nuevamente o no, ¿por qué sucede esto?

#include <stdio.h>
#include <stdlib.h>

int main()
{

    int number,check;
    char rep;

    printf("Program to check if number is even or odd");

    while( (rep!='N') || (rep!='n') )
    {
        printf("\n\nPlease enter the number: ");
        scanf("%d",&number);

        check = number%2;

        if(check != 0)
            printf("\nNumber is odd.");
        else
            printf("\nNumber is even.");
        printf("\n");

        printf("Do you want to enter number again?\nY=yes\tN=no\n");
        scanf("%c", &rep);
    }


    return 0;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta