这段程序里面y=-1是什么意思 求详解

int x,y;
printf("enter x:");
scanf("%d",&x);
y=-1;
if(x!=0)
if(x>0)
y=1;
else
y=0;
printf("x=%d,y=%d",x,y);
return 0;

搞不明白这个y=-1是什么情况下 y=-1

主要是代码块风格不太好,容易误解

int x,y;
printf("enter x:");
scanf("%d",&x);
y=-1;
if(x!=0)
    if(x>0)
         y=1;
    else
        y=0;
printf("x=%d,y=%d",x,y);
return 0;

这样应该清晰吧。要想y=-1,那么只需要if(x!=0)不成立就可以了,否则y会等于1或0。因此只要x=0,那么y就会等于-1,整个if代码块不会执行

y=-1就是初始值,也就是说x=0时,y=-1。