k= ((x++)>=0)&&(!(y--<=0))||(z=x+y)
就是这个顺序
x++是先使用x的值,再++,之后,x的值变为0.
所以x++>=0这个表达式的值为false
对于逻辑与运算,如果第一个表达式为false,则第二个表达式将不验证
所以!(y--<=0)没有执行,y的值仍然为5
对于或运算,若第一个表达式的值为false,则还要验证第二个表达式
于是z=x+y执行了,表达式的值为5,被强制转换为bool类型,则表达式的值为true
最后得出整个k=后面的表达式的值为true,所以k=1;
1.(y--)<=0
2.Z=x+y
3.x++>=0
4.!(y--<=0)
5.x++>=0&&!(y--<=0)
6.x++>=0&&!(y--<=0)||(z=x+y)
先!接着依次是&&、||
x++ 得 0
x++>=0 得 1
y-- 得 4
!(y--<=0) 得 1
z=x+y 得 4
1&&1||4
我记得好像是这样的!~算没算错就不知道了!~错了请原谅!