Originariamente inviato da lolide
Svuota il buffer con
codice:
char ch; while ((ch = getchar()) != '\n' && ch != EOF);
od un codice simile ogni volta prima di leggere dal buffer di input (con scanf, fgets ecc...).
Il trucchetto di vuotare il buffer va utilizzando quando si leggono char, negli altri casi la parte rimanente dell'invio (LF) viene automaticamente scartata

Il problema è la printf come ti hanno detto, togli gli ampersand (&).