为了账号安全,请及时绑定邮箱和手机立即绑定

float和double的用法区别 顺便帮我看看这两个代码。用double赋值后输出都是0.

float和double的用法区别 顺便帮我看看这两个代码。用double赋值后输出都是0.

C++
慕仰5422924 2018-12-05 21:14:28
#include <stdio.h>main(){ float x; scanf("%f",&x); x=(int)(x*100+0.5)/100.0; printf("%0.3f",x);}#include <stdio.h>main(){double x; scanf("%f",&x); x=(int)(x*100+0.5)/100.0; printf("%0.3f",x);}
查看完整描述

2 回答

?
onemoo

TA贡献883条经验 获得超454个赞

scanf 中,float 对应的格式化指示符是 %f;double 对应的是 %lf。   所以你的 scanf 语句中的格式化指示符用错了。

而在 printf 中,float 和 double 对应的都是 %f (当然你用 %lf 对应 double 也可以,但不是必须的)。

查看完整回答
反对 回复 2018-12-09
?
阿臣儿

TA贡献2条经验 获得超1个赞

double对应的输出格式是%lf哦,如果你用float对应的%f将会发生截断,我之前学c的时候也是这样,可以百度一下printf输出格式,里面内容很全的

查看完整回答
1 反对 回复 2018-12-06
  • onemoo
    onemoo
    对 printf 来说,float 和 double 没有区别
  • 2 回答
  • 1 关注
  • 1319 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信