额,这个语句很容易让人误解。
一般都是 if(x>0) 这样的表达式
if(z=y>0)的话是
先把y的值赋给z 然后看这个值是不是大于0
是的话,就执行if下面的语句
好吧,我被误解了,上面的回答是错的 如其他回答所说的,
先判断y是否大于0 是的话z=1 否的话z=0
一楼说错了。
=的优先级没有>大,因为先看y是否大于0,大于0的话y>0的值为1,把1赋给z
否则y>0的值为0,把0赋给z。
这句的意思是
if(y>0)
z = 1;
else
z = 0;
楼上错了,要考虑到优先级,是先y>0,然后再把y>0的真假值赋给z,如果y>0,赋值1,如果不是赋值0