Mögliche Duplizieren:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
increment values in printfin C/C++ ist x [i] * Y [i ++] immer gleich x [i] * y [i]
Ich habe eine zwei Doppel-Arrays x
und y
und Integer i
. Meine Frage ist, ob die Aussage:
double res = x[i] * y[i++];
die Aussage immer gleich ist:
double res = x[i] * y[i];
i++;
Ist es möglich, dass einige Compiler x[i] * y[i++]
in y[i++] * x[i]
ändern würden, was natürlich anderes Ergebnis hervorbringt?
Warum ist es wichtig? Wenn Sie eine bestimmte Bestellung wünschen, schreiben Sie sie einfach in dieser Reihenfolge. –
@ BoPersson. Ich dachte, ich sollte eine Erklärung schreiben, warum ich es brauche, aber ich wollte die Frage nicht verderben. Kurz, ich muss 'double vectors_dot_product (double * x, double * y, intn);' function beschleunigen und habe festgestellt, dass 'x [i] * y [i ++] + x [i] * y [i ++] +. ..; 'ist schneller als' x [i] * y [i] + x [i + 1] * y [i + 1] + ...; ' – Serg