Supponete che i e j siano variabili intere, e che s e t siano vettori di interi.
Assumete che, in un dato istante, i=j=0 e che il contenuto dei due vettori sia il seguente:s={0, 1, 2, 3}
t={3, 2, 1, 0}Se viene eseguita la seguente istruzione:
s[i++]=t[++j]+1;Quali valori avranno alla fine le variabili i e s?
- i=0, s=[3, 2, 1, 0]
- i=1, s=[2, 1, 0, 3]
- i=1, s=[4, 3, 2, 1]
- i=1, s=[3, 1, 2, 3]
- i=0, s=[3, 1, 2, 3]
- nessuno dei precedenti.
Soluzione: 4 (i=1, s=[3, 1, 2, 3]).
L’istruzione è equivalente a
j=j+1; s[i]=t[j]+1; i=i+1;
quindi
- i = 0
- j = 0+1 = 1
- s[0] = t[1]+1 = 2+1 = 3
- i= 0+1 = 1