Ich lerne Programmierung und ich habe aus der Sprache C gestartet. Ich habe gelesen Lasst uns C buchen. Und ich ging dieses Programm in diesem Buch durch.Pre-Inkrement vs Post-Inkrement in 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) ;
}
Mein Verständnis war, wird es i as 2
drucken, j as 1
und m as 15
Aber irgendwie ist es Druck als i as 3
, j as 2
und m as 15
? Wieso ist es so?
Unten ist mein 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.
Gibt es etwas falsch in meinem Verständnis?
Ich bin nicht sicher, dass die Programmierung mit C zu lernen Start der beste Weg ist. Haben Sie erwogen, mit Scheme zu beginnen und [SICP] zu lesen (http://mitpress.mit.edu/sicp/) (oder vielleicht mit Ocaml oder vielleicht Python)? –