Indicare il contenuto del vettore al termine del ciclo
int main() { char V[10]="xxxxxxxxx"; int k; for(k=0; k < 5; k++) (&V[3])[k]='A'+k; printf("%s", V); }
Soluzione: xxxABCDEx
Osserva
- &V[3][k] è il carattere alla posizione 3+k
- 'A'+k è il carattere alla posizione k dopo 'A'
quindi
- V[] = { 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', '\0' }
- k = 0
V[] = { 'x', 'x', 'x', 'A', 'x', 'x', 'x', 'x', 'x', '\0' } - k = 1
V[] = { 'x', 'x', 'x', 'A', 'B', 'x', 'x', 'x', 'x', '\0' } - k = 2
V[] = { 'x', 'x', 'x', 'A', 'B', 'C', 'x', 'x', 'x', '\0' } - k = 3
V[] = { 'x', 'x', 'x', 'A', 'B', 'C', 'D', 'x', 'x', '\0' } - k = 4
V[] = { 'x', 'x', 'x', 'A', 'B', 'C', 'D', 'E', 'x', '\0' }