我认为x,y,z都等于0,if语句成立所以执行把z赋值给t,t等于z就等于0,可为什么答案是t等于1?求解释。
x=y=z=0
应该改写成int x=0,y=0,z=0;
=
代表赋值,==
才表示判断两数是否相等
!
是逻辑反操作符,0为假,1为真,!z之后就变成了1如果对你有帮助,还请点个采纳,万分感谢!
注意if里面是x=y,不是x==y,前者是赋值语句,后者才是判断语句,赋值语句的值就是左值,所以if的判断条件是个假值,所以,应该采用else分支,然后t=!z,就等于1了
if(x=y)
中x=y
是赋值表达式,其结果是0
,不是x==y