恳请c程序大佬帮我看一下这个选择结构的练习题,感谢!
题目要求输出一个函数:x<0,y=-1;x=0,y=0;x>0,y=1;
一开始我定义x为float型变量,
#include<stdio.h>
int main()
{
int y;
float x;
printf("请输入x的值:\n");
scanf("%f",&x);
if(x<0)
y=-1;
else
if(x==0)
y=0;
else
y=1;
printf("y=%d",y);
return 0;
}
当输入的x小于0时,输出y=0;但是如果将x定义为int型变量,那么当输入的x小于0时,就可以正确地输出y=-1,这究竟是哪里出问题了呢?恳请大佬为我指点迷津,再次感谢!