因为你定义的变量是float类型,而如果输入5和9的话,电脑会认为是两个整形数据先相除,然后再转换成float型,所以就变成0了。
#include
int
main()
{
float
c,f;
printf("请输入摄氏温度值:\n");
scanf("%f",&c);
//
接收数据错误
scanf("%f,&c\n");
f=32+c*1.8;
printf("摄氏温度=%.2f,转换为华氏温度=%.2f\n",c,f);
//
输出错误
转换为华氏温度=&.2f
getch();
return
0;
}
5/9两个整数相除,得到整数结果0,所以c=0,只有其中有一个是浮点数就可以正确计算。
5/9 是MOD 返回的是int型 所以是0
5.0/9 已经被强转成float 型了 返回float