I can\'t understand output of this program:
#include using namespace std; int main() { int x = 1 , y = 1, z = 1; cout << ( ++x || +
This expression
++x || ++y && ++z
is equivalent to expression
++x || ( ++y && ++z )
and not like this
( ++x || ++y ) && ++z
If the first operand of the logical OR expression is evaluated to true (as in your example) then the second operand that is ( ++y && ++z ) is not evaluated.
( ++y && ++z )