Volevo provare ad utilizzare la restituzione del numero di argomenti assegnati correttamente da scanf() per chiedere un input numerico fino a quando non sia corretto, ma il codice pare non funzionare.
Se si inserisce da subito un valore corretto tutto a posto, ma nel caso questo sia un char (od una stringa), allora il ciclo prosegue all'infinito senza chiedere un'altro input, come se la scanf() fallisse l'assegnamento a prescindere.
Qualcuno in grado di dirmi dove sbaglio?
codice:#include <stdio.h> /* * Il programma prende in input un numero intero, ccntinuando * a chiederlo nel caso non sia un valore coretto. */ int main() { int a = 0; int intero = 0; printf("Dammi un numero intero\n"); do { a = scanf("\n%d", &intero); printf("scanf(): %d \n", a ); } while ( a < 1); printf("Hai inserito il numero intero %d\n", intero); return 0; }