刚入门学C,做作业遇到了点问题不理解,求助。
#include <stdio.h>#include <math.h>
int main()
{
float a,b;//换成double就错了
printf("请输入华氏度:");
scanf("%f",&a);
b = (a-32)*5/9;
printf("转换为摄氏度:%.2f",b);
return 0;
}
按照作业输入45时,loat显示的结果是7.22
当把float换成double时就显示为-17.78
请问这是为什么?double不是精度变高了而已么?
谢谢解答
float 对应%f
double %lf wp231957 发表于 2021-10-9 09:43
float 对应%f
double %lf
哇 谢谢 不过我还有个问题请您解答下,我用double时
将第九行的 %f 换为 %lf 结果就对了,为什么第13行的不用换呢? Sxx_27 发表于 2021-10-9 09:50
哇 谢谢 不过我还有个问题请您解答下,我用double时
将第九行的 %f 换为 %lf 结果就对了,为什么第13行 ...
发代码 wp231957 发表于 2021-10-9 09:53
发代码
{:10_254:}还是上面那个代码
#include <stdio.h>
#include <math.h>
int main()
{
double a,b;
printf("请输入华氏度:");
scanf("%lf",&a);
b = (a-32)*5/9;
printf("转换为摄氏度:%.2f",b);
return 0;
} Sxx_27 发表于 2021-10-9 09:56
还是上面那个代码
还是对应上为好,保持一致 wp231957 发表于 2021-10-9 10:17
还是对应上为好,保持一致
好的 谢谢
页:
[1]