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

int InsertInteger(char *str, int Max, int Var)

int main()
{
    char *str;
    int Integer;
    
    printf("Inserisci un valore intero:\n");
    Integer=InsertInteger(str, 100, Integer);
    
    printf("Il valore inserito e': %d", Integer);
}

/*=============================
 * Inserisco in input un intero
 *===========================*/
int InsertInteger(char *str, int Max, int Var)
{
    int i;
    
    fgets(str, Max, stdin);
    
    // Qui dovrei controllare se il valore è un intero a tutti gli effetti oppure no.
    // Se lo è lo converto in intero e restituisco
    // altrimenti devo chiedere Errato! INserire un valore intero!
    
    Var = atoi(str);
    
    for ( i=0; str[i] < 0 || str[i] > 31; i++);
        str[i]=0;
    
    fflush(stdin);
    
    return Var;
}
Ora funziona perfettamente, però se inserisco tipo "ciao", restituisce 0.. invece io vorrei fare in modo che esca a video: "Errore!Inserire correttamente il valore intero".