perchè quando giro questo programma

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

int main()
{
     char x;
     
     
     printf("dire quale citta' fra Napoli,Avellino,Caserta,Benevento \n"
            "\ne' piu' a nord (inserire iniziale): ");

     do
     
 {
scanf("%c",&x);
switch(x)
{
  case 'N' : printf("\n Napoli e' la piu' a sud delle 4...\n"); break;
  case 'C' : printf("\n Caserta e' piu' a sud di benevento \n"); break;
  case 'A' : printf("\n Avellino e' piu' a nord solo di napoli \n"); break;
  case 'B' : printf("\n Benevento e' la risposta esatta! \n \n"); break;
  default: printf("\n Prova ancora...:"); break;
}
 }
  while(x!='B');

system("pause");
return 0;
}
in caso di default mi stampa "prova ancora" due volte???
sono sicuro si tratti di un errore banale...

grazie in anticipo per la risposta