Когда вы пишете something++
или ++something
, это примерно эквивалентно
something = something + 1
(разница между something++
и ++something
в том, что вы получаете, когда присваиваете результат чему-то другому).
Из-за этого операнд ++
должен быть чем-то, что вы можете назначить.
8++
эквивалентно 8 = 8 + 1
, но вы не можете присвоить число.
++x++
будет эквивалентно чему-то вроде (x = x + 1) = (x = x + 1) + 1
, я даже не могу понять, что это может означать.
(x+y)--
эквивалентно (x + y) = (x + y) - 1
. Вы не можете назначить дополнительное выражение (какую переменную вы бы задали)?
Вы должны использовать ++
или --
только когда вы действительно хотите обновить переменную. Это не общая замена для + 1
или - 1
. Итак, ваша программа должна быть:
x = 8 + 1;
y = 1 + x + 1;
z = (x + y) - 1;
Будет напечатано
x = 9, y = 11, z = 19