float int求助问题 为何这改变int double的类型 算出答案会完全不同 不是都在范围
#include <stdio.h>#include <math.h>
int main()
{
double h;
double s;
printf("请输入华氏度:");
scanf("%f", &h);
s =(h-32)* 5 / 9 ;
printf("转换为华氏度是:%.2f\n", s);
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
int h;
double s;
printf("请输入华氏度:");
scanf("%d", &h);
s =(h-32)* 5 / 9 ;
printf("转换为华氏度是:%.2f\n", s);
return 0;
}
第一段代码,%f对应float double肯定不行
第二段代码没细看,估计是4/8=0而不是你认为的 0.5 double --》 %lf
改成lf就行
页:
[1]