Grazie, la tua soluzione funziona, ma ho scoperto anche che è possibile aggiungere la riga fflush(stdin) dopo scanf, funziona uguale. Dovrebbe svuotare il buffer in entrata quindi non c'è più quell'invio di cui parlavi tu.