c语言中double和float有什么区别?

2024-11-26 13:50:04
推荐回答(5个)
回答1:

你要是把第五行的float变成double,也应该在输出语句改为:printf("%16f",c);
如只把第五行的float变成double,则在输出时系统会将其进行强制转换,出现错误,因为double比float范围大,就像double是一个大箱子,float是一个小箱子,你现在把大箱子里的东西硬往小箱子里到,可能会装不下的,就是这个道林。不过你可以将第七行这样写c=(float)5*(f-32)/9;
这样也是正确的。

回答2:

因为 %f 和 float 是对应的

%d 和 int 是对应的

%lf 和 double 是对应的

不匹配就会出错

回答3:

你定义的是float f,c,与的scanf("%f",&f);相互统一,
%表示输入的类型,你定义是float类型,scanf输入就要用相同的,
或者你定义double,那scanf也要选相应的类型,换成scanf("%lf",&f)

回答4:

double用%lf,部分编译器里都可以用%f
float和double精度不一样。

回答5:

float是单精度
double是双精度
如果你改成double了
printf(“%lf”,c);要改成lf