他那个后两个不都是97.000000吗?为什么一个用%f,一个用%lf

来源:2-8 自动类型转换

qq_慕先生7218895

2019-09-17 13:15

一样的数怎么一个单精度一个双精度?


写回答 关注

2回答

  • 慕侠4134631
    2019-09-19 13:19:02
    已采纳

    double与float的区别在于在内存中存放数据时占用的内存不一样,前者8字节,后者4字节,也就是前者保存的小数位数比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。

  • 慕UI3423937
    2019-09-17 14:45:18

    怕存不下

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题