Quando chiedi in input un carattere, magari digiti 'c' ma premi anche invio, per cui rimane nel buffer di lettura anche il '\n' (che corrisponde a invio), e la seconda scanf legge quello.
codice:
#include <stdio.h>
#include <stdlib.h>

int main()
{
char primo, secondo;

printf("scegli primo carattere: ");
scanf("%c", &primo);
while(getchar()!=10)  // finchè non legge '\n' (che ha come valore 10)
    ;                         // non fa niente (ma non esce dal while)

printf("scegli secondo carattere: ");
scanf("%c", &secondo);

printf("primo: %c \n", primo);
printf("secondo: %c \n", secondo);

getchar();
}