背景:今天在用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详细使用规则。

c语言double类型printf问题相关推荐

  1. c语言自定义输出小数点位数_c语言double类型默认输出小数几位

    C语言中常用的小数有两种类型,分别是 float 或 double:float 称为单精度浮点型,double 称为双精度浮点型.不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占 ...

  2. c语言double型小数点后几位小数,c语言double类型默认输出几位小数?

    C语言中常用的小数有两种类型,分别是 float 或 double:float 称为单精度浮点型,double 称为双精度浮点型.不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占 ...

  3. c语言double类型的输入

    c语言double类型的输入 double输入用 %lf ,而不能用 %f 今天在使用double类型输入时先用了 scanf("%lf", &a),结果以%f输出的时候都 ...

  4. c语言double型小数点后几位_c语言double类型默认保留几位小数?

    c语言double类型默认保留几位小数? 发布时间:2020-04-23 09:31:42 来源:亿速云 阅读:945 作者:小新 c语言double类型默认保留几位小数?相信有很多人都不太了解,今天 ...

  5. c语言double保留2位小数0,c语言 double类型保留小数问题

    c语言 double类型保留小数问题0 落寞的夕阳A2015.12.29浏览164次分享举报 用户输入希望保留小数的位数,1到16,怎么实现 int main(){ double a = 1.1234 ...

  6. c语言中数据精度发生错误,C语言Double类型数据保证精度有关问题

    C语言Double类型数据保证精度问题 我用手算算出的数据为-1.35323517,但是在C语言里面为了保证数据精度,VC++运行的结果为-1.35323517024517 ,按说应该在-1.3532 ...

  7. c语言使用double时 %,c语言double类型的输入

    c语言double类型数据四舍五入 借助math库的round函数 #include double ext_round(double data, int precision) { , precisio ...

  8. c语言double类型是几字节,c语言中int long float double 等类型所占字节及输出表示(转)...

    16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int : 2个字节 float: 4个字节 doub ...

  9. C语言double类型取余操作

    整数的取余%运算,两个操作数要求是整型数字,结果也是整型数字.double类型的无法使用 解决: float使用fmodf(a,b); double使用fmod(a,b); long double使用 ...

最新文章

  1. 【Python基础避坑】函数内存底层分析,全局变量/局部变量,参数传递,浅拷贝/深拷贝
  2. Linux下snmp常用的OID ---- SNMP硬件监控
  3. 面试准备每日五题:C++(二)——mallocnew、宏、volatile、constvolatile、(a)和(a)
  4. 将List集合用字符串,逗号隔开进行拼接 ,五种方法
  5. laravel 5连接MySQL_Laravel 手记(连接mysql)
  6. 字节转换,字符串与数字转换
  7. RichTextBox中插入图片
  8. 属于服务器端运行的程序_服务器端编程Java 引起人们的注意很大程度上始于 applet...
  9. 静态网页制作前夕小记录
  10. 罗马盘,大力盘,大圣盘等网盘资源搜索免费下载资源教程
  11. 笔记本电脑华硕N56VZ的几种螺丝规格
  12. jeesite图片上传并显示
  13. n维椭球体积公式_考前必背!数量关系、资料分析常用公式汇总!不再头大!...
  14. 学c语言学生智商要搞么,作为一个学渣,哥来告诉你如果你智商不够该怎么办...
  15. 国内常用公共DNS服务器、各省运营商DNS服务器汇总
  16. Enscape 代理服务器和防火墙设置
  17. [4G5G专题-14]:应用层-5G的三大业务应用场景(多、快、好、省)
  18. ENVI【非监督分类】
  19. 关于VS中如何打开控制台
  20. iframe无边框实现

热门文章

  1. 分布式缓存的四大痛点
  2. sql查询重复数据且显示出不同数据的重复次数并且排序
  3. 百度sugar数据大屏
  4. CocoaPods安装方法(2021最新版)
  5. win10 , 设置自动登录
  6. HR SaaS软件下一站:满足HR还是满足员工?
  7. 测试同学都应该知道的断言知识...
  8. 服务器网线灯闪烁显示未插入,无线路由器的灯都在闪,但是始终显示WAN 未连接,网线没有插好...
  9. Rust的模式和匹配
  10. Java如何决定对象的生死及对象该如何逃脱?