因为if(x==0)后面多了一个分号
把 if(x==0); 后面的; 去掉
否则 会执行 y =0 语句
......if(x<0) y=-1;else if(x==0); y=0;else y=1;
帅哥,有没有发现你的第二个if后多了一个‘;’
#include
int main()
{
int x,y;
scanf("%d",&x);
if(x<0)
y=-1;
if(x==0)
y=0;
if(x>0)
y=1;
printf("%d",y);
return 0;
}