Dato il codice sottostante
non riesco a capire perchè
la riga 8 stampa 1 al posto di zero,
ho notato che cio dipende dalla chiamata a funzione "f",
ma non mi so spiegare come "f" vada a influenzare il contenuto
del terzo elemento del vettore.
Se qualcuno gentilmente puo illuminarmi, grazie.
void f(int *a) {
a[1]=++a[3];
}
int main ()
{
/*1*/ int x[5]={14, 7, -4};
/*2*/ printf("%d\n", x[4]);
/*3*/ printf("%d\n", x[3] && (x[1] = 4));
/*4*/ printf("%d\n", x[1]);
/*5*/ printf("%d\n", x[3]);
/*6*/ f(x);
/*7*/ printf("%d\n", x[1]);
/*8*/ printf("%d\n", x[3]);
/*9*/ system ("pause");
return 0;
}