Sto imparando la programmazione e ho iniziato dal linguaggio C. Stavo leggendo Let us C book. E stavo passando attraverso questo programma in quel libro.Pre incremento vs Incremento post nell'array
main()
{
int a[5] = { 5, 1, 15, 20, 25 } ;
int i, j, k = 1, m ;
i = ++a[1] ;
j = a[1]++ ;
m = a[i++] ;
printf ("\n%d %d %d", i, j, m) ;
}
La mia comprensione era, verrà stampata i as 2
, j as 1
e m as 15
Ma in qualche modo è come la stampa i as 3
, j as 2
e m as 15
? Perché è così?
Qui di seguito è il mio understanding-
b = x++;
In this example suppose the value of variable ‘x’ is 5 then value of variable ‘b’ will be 5 because old value of ‘x’ is used.
b = ++y;
In this example suppose the value of variable ‘y’ is 5 then value of variable ‘b’ will be 6 because the value of ‘y’ gets modified before using it in a expression.
qualcosa che non va nella mia comprensione?
non sono sicuro che a partire per imparare a programmare con C è il modo migliore. Hai preso in considerazione l'idea di iniziare con Scheme e leggere [SICP] (http://mitpress.mit.edu/sicp/) (o forse iniziare con Ocaml, o forse con Python)? –