c程序里的除得出来的为什么是个0呢?

来源:百度知道 编辑:UC知道 时间:2024/05/13 06:47:08
#include<stdio.h>

void main()
{
float x,y,z;
printf("请输入华氏:");
scanf("%f",&x);
z=x-32;
y=5/9*z;
printf("输出的摄氏:%.2f\n",y);

}
在这里的除号 得出来的结果却是0? 为什么呢?

因为你用的5/9,他们是整型,相除得的数人然是整数,就是 0 啊, 你可以改成这样y=5.0/9*z;
或者用强制转换y=(int)5/9*z;

其实如果你输入的是float类型数的话,是可以避免的。。。楼上说的就挺好的可以避免这样的错误...