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是什么情况下 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代码块不会执行