一段代码为啥得不到你想要的结果

一段代码为什么得不到你想要的结果?
#include <stdio.h>

void main()
{
int x,y;

scanf("%d",&x);
if(x<0) y=-1;
else if(x=0) y=0;
     else if(x>0) y=1;
              printf("x=%d,y=%d\n",x,y);

}
为什么这么写输入的1,得到的结果y是这样的:,不是1呢?
x=0,y=-858993460
Press any key to continue


------解决方案--------------------
else if(x==0) y=0; 

你输入1,输出x=0的时候,你不奇怪吗。呵呵