Q:

scanf is being skipped in C

I tried to run the following program: 
int main(){
    char a;
    char b;
    char c;

    printf("\nenter a: ");
    scanf("%c", &a);

    printf("\nenter b: ");
    scanf("%c", &b);

    printf("\nenter c: ");
    scanf("%c", &c);

    return 0;

}

upon running the program it prompts you to enter a value for a. once you do, you are prompted to enter a value for b, however you are not allowed to input a value because the program skips the scan and then prompts you again to input a value for c which is not skipped. I can initialize a and c, but not b. and I have no idea why. I read somewhere that using %[^\n] in the scanf, but I tried using it and I don't think I used it correctly because it still wasn't working. 
this is the output (with some input examples):
enter a: 1

enter b: 
enter c: 1

process returned 0 (0x0)

A:

Instead of "%c", use " %c".
Without the space, scanf does not skip white spaces when the format specifier is %c. That is initially confusing since it will skip white spaces for other format specifiers, such as %d, %f, %s, etc.

