#include <stdio.h> int main() { int x = 4, y, z; y = --x; z = x--; printf("%d %d %d", x, y, z); }
Выход: 2 3 3
2 3 3
Может кто-нибудь объяснить это? А что означает i =+ j (предположим, i = 1 и j = 2)?
i =+ j
i = 1
j = 2
y = --x;
X уменьшается, затем Y присваивается значение X (3)
z = x--;
Z присваивается значение X (3), X уменьшается (2)
Постфиксный декремент (x--) отличается от префиксного декремента (--x).Первые возвращают значение x, затем уменьшают его;последний уменьшает и затем возвращает значение.
И если вы поймете, как постфикс написан на низком уровне, вы обнаружите, что он медленнее, чем префикс ...:)