Ciao ragazzi,
ho un problema che veramente non riesco a risolvere.
Come faccio in C a controllare che l'utente ha inserito veramente un numero in un range?

Esempio:
Menù con scelte:
1) Scelta 1
2) Scelta 2
3) Uscita

Bene, diciamo che controlliamo l'inserimento cosi:


do
{
printf("Scelta:");
scanf("%d",%s);
}
while(s<1 || s>3);


Però...se inserisco un carattere o un numero decimale il programma va in crash! Come faccio? Ho provato anche con delle funzioni che controllano che sia un carattere o meno, ma il problema è che già la scanf va in crash se si aspetta un intero e le si passa un carattere o un numero decimale.

Sapreste aiutarmi? Grazie