I was studying operator precedence and I am not able to understand how the value of x became 2 and that of y and z is
x
2
y
z
x=y=z=1 z=++x||++y&&++z
is equivalent to
x=y=z=1 z=((++x)||((++y)&&(++z)));
Since ++x returns 2, which is nonzero, the ++y && ++z branch is never executed, and thus the code is equivalent to:
++x
++y && ++z
x=y=z=1; z=(++x)||(anything here);