x=0
if(x>0) y=1;
else if(x=0) y=0;
else y=-1;
printf("%d",y);
y为什么等于-1,不是0??
x=0;
if(x>0) y=1;
else if(x=0) y=0;
else y=-1;
printf("%d",y);
如果这个代码没问题的话,这样说,第一次判断不满足,到else if,这时x被赋值为0,判断变成了else if(x),此时x的值如果为0的话,就为false,执行else中的代码。
我觉得楼主else if中是想判断x为0的情况,这时候改成else if(x==0) y=0;
x=0;
if(x>0) y=1;
else if(x==0) y=0;
else y=-1;
printf("%d",y);
你这个else if里面的条件少写了一个=