When the metric is lines of code
When the company tries to be cheeky and starts to count characters instead
Rename c to completelyUnimportantVariableThatISoLongBecauseIGetPaidMore
The third one is just (x=x+1), because the middle bit is just always false and can be ignored.
What if int overflows? Is it still false?
Still false, thanks to compiler optimizations. Remember that integer overflow is UB. (unless you’re using unsigned int or a programming language which strictly defines integer overflow, possibly as an error)
P.S.: Assuming this is C/C++
I’m fairly certain that last one is UB in C. The result of an assignment operator is not an lvalue, and even if it were it’s UB (at least in C99) to modify the stored value of an object more than once between two adjacent sequence points. It might work in C++, though.
That was my first thought when trying to figure out what it did
You forgot
++x
.