Why the value of x is 4 and not 7 ?
The way i see it, in the first if 4 > x is true
then ((++x + 2) > 3 )also returns true and x is now 4
the second if 4 > ++x is false and x is now 5, then (++x == 5) is false but because of the ! is true so the if passes and x is now 6
then x gets incremented again and its now 7
[quote=Howard Troxler ((++x + 2) > 3) increments x to 2, and 2 + 2 > 3.
why inst the +2 being add to x?
Joined: Jun 05, 2013
It's just an expression, not an assignment, isn't it?
In the expression (++x + 2), the only thing happening to x is that it is being incremented by 1. The expression itself evaluates to whatever the resulting value of x is, plus 2, but the 2 is not being added to x....