double和float 适用性问题求大佬给个解释
#include<stdio.h>int main(){
double x,y;//为啥用double和float输出结果就不同呢。
printf("请输入华氏度:");
scanf("%f",&x);
y=(x-32.0)*5.0/9.0;
printf("转换成摄氏度是:%.2f\n",y);
return 0;
}
实在弄不清数到底问题出在哪里 就解释呢。 改成这样:
#include<stdio.h>
int main(){
double x,y;//为啥用double和float输出结果就不同呢。
printf("请输入华氏度:");
scanf("%lf",&x);
y=(x-32.0)*5.0/9.0;
printf("转换成摄氏度是:%.2f\n",y);
return 0;
}
原因是scanf的输入格式不对,应该是lf,不是f. 因为 double 类型输入时候要用 %lf 而不是 %f
#include<stdio.h>
int main() {
double x, y;//为啥用double和float输出结果就不同呢。
printf("请输入华氏度:");
scanf("%lf", &x);
y = (x - 32.0) * 5.0 / 9.0;
printf("转换成摄氏度是:%.2f\n", y);
return 0;
} qiuyouzhi 发表于 2020-6-30 16:39
改成这样:
原因是scanf的输入格式不对,应该是lf,不是f.
加l的意思不是是 按照long或者unsined long类型?那怎么区分啥时该加l或者加ll ,难道只要这个数足够大么? 轻轻草原 发表于 2020-6-30 16:52
加l的意思不是是 按照long或者unsined long类型?那怎么区分啥时该加l或者加ll ,难道只要这个数足 ...
{:10_245:}你最佳给别人 然后去问另一个人 这样好意思吗?晕.... 轻轻草原 发表于 2020-6-30 16:52
加l的意思不是是 按照long或者unsined long类型?那怎么区分啥时该加l或者加ll ,难道只要这个数足 ...
不是。%f 是 float,%lf 是 double,%Lf 是 long double Twilight6 发表于 2020-6-30 17:09
你最佳给别人 然后去问另一个人 这样好意思吗?晕....
注意力不集中 搞错了,尴尬。 轻轻草原 发表于 2020-6-30 16:52
加l的意思不是是 按照long或者unsined long类型?那怎么区分啥时该加l或者加ll ,难道只要这个数足 ...
抱歉意外意外。
页:
[1]