读书人

运算次序解决办法

发布时间: 2012-03-14 12:01:13 作者: rapoo

运算次序
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

不用再多说了吧...

读书人网 >C++

热点推荐