c语言中 比如if(z=y>0)什么意思?

2025-03-05 05:41:24
推荐回答(4个)
回答1:

额,这个语句很容易让人误解。
一般都是 if(x>0) 这样的表达式
if(z=y>0)的话是
先把y的值赋给z 然后看这个值是不是大于0
是的话,就执行if下面的语句

好吧,我被误解了,上面的回答是错的 如其他回答所说的,
先判断y是否大于0 是的话z=1 否的话z=0

回答2:

一楼说错了。
=的优先级没有>大,因为先看y是否大于0,大于0的话y>0的值为1,把1赋给z
否则y>0的值为0,把0赋给z。

回答3:

这句的意思是
if(y>0)
z = 1;
else
z = 0;

回答4:

楼上错了,要考虑到优先级,是先y>0,然后再把y>0的真假值赋给z,如果y>0,赋值1,如果不是赋值0