Sia dichiarato un array
int a[10];Cosa succede all’esecuzione del seguente codice:
for (i=0; i<=10; i++) a[i]=2;
- Tutto l’array viene inizializzato al valore 2.
- Si superano i limiti dell’array.
L’errore viene segnalato in fase di compilazione.- Si superano i limiti dell’array.
L’errore viene segnalato all’esecuzione del codice.- Si superano i limiti dell’array.
L’errore non viene segnalato, ma si hanno conseguenze imprevedibili.- Si superano i limiti dell’array.
All’accesso all’undicesimo elemento, il sistema operativo assegna altro spazio all’array a e l’esecuzione prosegue.
Soluzione: 4 (Si superano i limiti dell’array. L’errore non viene segnalato, ma si hanno conseguenze imprevedibili.)
Gli elementi dell’array sono a[0], a[1], …, a[9] e il linguaggio C, tradizionalmente, non controlla gli indici all’accesso di un array.