运算次序解决办法

运算次序inta10,b20,x2,y1,z0t!z&&xyzcout t t endl输出结果是t1t为什么等于

运算次序
int   a=10,   b=20,   x=2,   y=1,   z=0;
t   =   !z&&x==y==z;
cout < < "t= " < <t < <endl;


输出结果是t=1
t为什么等于1?

[解决办法]
t = !z&&x==y==z;
分解成

t = (!z) && ((x==y) == z)

(x==y)为false, 表达式值为0

不用再多说了吧...