Originariamente inviato da bigmickey
Attento tu scrivi

int dim=0,array[dim]; (qui la dimensione è zero)

Il fatto che poi dim cambi non implica che cambi anche la dimensione dell' array.

Forse è meglio usare malloc
già.. mi era sfuggita questa cosa perchè mi ero concentrato sull'inveritre i dati..

quindi sta attento, nella funzione che ti ho postato dim deve contenere la dimensione dell'array!