È vero anche che quel codice modifica il primo elemento dell' array e non credo che sia accettabile per la risoluzione dell' esercizio ... Magari prova così :
Per il codice rimanente, è lo stesso codice di oregon . . .codice:int* smallest( int a[], int n ) { int* p = &a[0]; int i; for( i=0; i<n; i++ ) { if( a[i] < *p ) p = &a[i]; } return p; }