Se dim vale 4, è normale che te ne stampa 4.
Il problema sarà sicuramente la pulitura del buffer, ecco perché ti chiede 5 valori anziché 4.
Pulisci il buffer di input:
codice:printf("Inserisci un numero:\n"); for(i=0; i<dim-1; i++){ scanf("%d ", (p+i)); while(getchar()!=10) ; }

Rispondi quotando