простое объяснение:
- x или ++ x : значение будет изменено после.
x--или x ++ : значение будет изменено до
Подробное объяснение:
- x или ++ x : pre-decrement / increment: сначала выполнит операцию уменьшения или увеличения, затем назначит x.
x-- или x ++ : post: decment /приращение : сначала присваивается значение x, а затем выполняется операция уменьшения или приращения после.
давайте напишем ваш код в более удобном формате, пошагово рассмотрим ваш код и аннотируем его, чтобы наглядно показать вам, что происходит:
main() {
//We declare the variables x, y and z, only x is given a value of 4.
int x=4,y,z;
//--x will decrement var x by 1 first THEN it will assign the value of x to y.
//so: x = 3, y = 3 and z = nothing yet.
y = --x;
//x-- will assign the value of x to z first, then var x will be decremented by 1 after.
//so: x = 2, y=3 and z = 3
z = x--;
printf ("\n %d %d %d", x,y,z);
}