表达结果的z为什么是0不是10?

img

if(z=y<0) 这个意思是 z=(y<0) 而不是你想的比较。 如果要比较的意思是z==(y<0) 故 这个是赋值的意思 所以z=(y<0)=0;

if(z=y<0)
这一句是给z赋值的,y<0,因为y=1,所以y<0为假,也就是0。因此z=0

因为在if(z=y<0)里对z重新赋值了,首先y<0为false,因此z被赋值0