c语言else-if多分支结构的逻辑问题,刚入门,看下

设计x<0时,y=-1;x=0时,y=0;x>0时,y=1.
使用如下两种方式为什么会得到不同结果?

img

img

img

img

你的第一个程序是如果(x<0) y=-1;否则如果(x>0) y=1 否则y=0;
你的第二个程序是如果(x<0) y=-1;否则如果(x=0) y=0 否则y=1;

img
是x==0而不是x=0

=是赋值号,==才是逻辑运算符