E' necessario ripulire il buffer di input dal carattere INVIO, dopo averlo ricevuto:
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;
        char nullo;

        printf("Dammi un numero intero\n");
        do
        {
                a = scanf("\n%d", &intero);
                printf("scanf(): %d \n", a );
                scanf("%c", &nullo);
        } while ( a < 1);

        printf("Hai inserito il numero intero %d\n", intero);

        return 0;
}
Ciao.