Как работают операции с префиксом (++ x) и постфиксом (x ++)?

Может ли кто-нибудь сказать мне, как на самом деле работают операторы префикса / постфикса? Я много искал в Интернете, но ничего не нашел.

Насколько я могу судить, prefex сначала увеличивает, затем выполняет операцию, а затем присваивает.
Postfix сначала выполнит операцию, затем назначит, а затем увеличит.

Но у меня небольшие проблемы с моим кодом:

int x, y;
x = 1;
y = x + x++; // (After operation y = 2)(x=2)

Однако когда я это делаю:

y = x++ + x; // (After operation y = 3)(x=2)

Я не уверен, почему эти операции будут другими. У меня два вопроса:

  • Не могли бы вы объяснить разницу?

  • Как это применимо к префиксу другого оператора?

26
задан Jeroen Vannevel 1 August 2014 в 21:18
поделиться