c语言double类型printf问题

c语言double类型printf问题背景 今天在用 c 语言写程序时遇到了一个问题 printf lf double r 竟然输出乱码 0 000000 浏览了几十个网页之后 大致找到了问题原因 结论 在 c 语言中 double 类型的读入必须用 lf 输出必须用 f 解释 double 和 float 的精度是不同的 故存储空间也是不同的 所以如果要读入 double 类型 必须要用 lf 来读入 以免精度丢失 而输出 由于

背景:今天在用c语言写程序时遇到了一个问题:printf(“%lf”,double(r));竟然输出乱码(0.000000),浏览了几十个网页之后,大致找到了问题原因。

结论:在c语言中,double类型的读入必须用”%lf”;输出必须用”%f”

解释:double和float的精度是不同的,故存储空间也是不同的,所以如果要读入double类型,必须要用%lf来读入,以免精度丢失。而输出,由于printf中并无对%lf的严格定义,故使用%lf不一定会出现正确结果。那使用%f输出又如何呢?由于c语言中的默认参数提升规则,%f输出的不论是float还是double都会被提升到双精度进行输出,并不会有精度丢失。

如果使用C++编译器,那么用%lf输出是正确结果,如果是g++编译器,则是会输出错误结果,所以尽量使用%f输出double类型。

如需更详细解释,请移步C语言官网查看printf详细使用规则。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201675.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:52
下一篇 2026年3月20日 上午8:52


相关推荐

  • 智己LS8实车现身,长近5米1,配530马力+线控转向

    智己LS8实车现身,长近5米1,配530马力+线控转向

    2026年3月17日
    2
  • 编译java程序需要使用命令_编译Java程序需要使用____命令。

    编译java程序需要使用命令_编译Java程序需要使用____命令。—myglasses?—Yes,Isawthemonyourbedaminuteago.A.DoyouseeB.HadyouseenC.WouldyouseeD.H_______acertaindoubtamongthepeopleastothepracticalvalueoftheproject.A.IthasB.TheyhavHer…

    2022年7月7日
    19
  • 移位运算用法总结

    移位运算用法总结位运算总结原文一、位运算应用口诀清零取位要用与,某位置一可用或若要取反和交换,轻轻松松用异或二、移位运算它们都是双目运算符,两个运算分量都是整形,结果也是整形。‘<<’左移:右边空出的位置补0,其值相当于乘以2。‘>>’右移:左边空出的位,如果是正数则补0,若为负数则补0或1,取决于所用的计算机系统OSX中补1。其值相当于除以2。…

    2022年7月13日
    19
  • JDBC从入门到精通

    JDBC从入门到精通JDBC概念我们学习了数据库,数据库实现了数据的持久化,但我们最终要在程序里处理数据啊,那java代码中怎么去访问数据库读写数据呢?这就要用到sun公司设定的一套数据库标准了,这套标准就是JDBC(JavaDatabaseConnectivity)。但它只是规范,不做具体实现。于是数据库厂商又根据JDBC标准,实现自家的驱动Driver。如:mysql驱动com.mysql.cj.jdbc.Driver,Oracle的驱动oracle.jdbc.OracleDriver。有了这套解决方案,java

    2022年6月23日
    30
  • java语言代码大全_java语言代码大全解析

    java语言代码大全_java语言代码大全解析Java语言是如今互联网最热门的语言之一,今天我们就来了解一些java语言经常用到的代码,快来看看吧。一、jdbc连接publicclassOracleJdbcTest{StringdriverClass=”oracle.jdbc.driver.OracleDriver”;Connectioncon;publicvoidinit(FileInputStreamfs)throws…

    2022年7月8日
    21
  • 最新==>青龙面板拉库命令更新<==【2022/8/10】收藏不走丢

    最新==>青龙面板拉库命令更新<==【2022/8/10】收藏不走丢最新最全青龙拉库命令 更新频繁可收藏

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号