float是浮点型,double是double float的意思,也就是双精度浮点型。%f是以float类型格式化输入或输出,%lf是long float的意思(估计是和%ld对应),也就是指double类型。scanf读%f时,系统会按照4字节长度来读,读完要放到一个4字节的空间位置,也就是一个float所在的位置。那么double有8字节空间,比4字节还大,能不能来放?答案是不能。因为float和double的关系不像int和long的关系那样,简单的在后面增加4字节的位置。float和double有自己专门的数据排列格式,如下:如果读的时候明明是按照float的格式来读,但是却存在double的空间内,并且之后一直按double来操作,那么里面数据的符号位、阶码、尾数就全错位了。除非你在用的时候把每个double强制转换成float来用,但是何必多次一举?同理,如果读用%lf来读,却存在float中,不仅格式错位,而且存储空间也不够,会有数据丢失。所以用scanf读的时候,读%f就规规矩矩的放进float中来存,读%lf就放进double中,这样在使用的时候里面的数据才不会错位。在printf的时候,首先C里面的float其实在使用过程中都是被隐式转换成了double来用。所以你在printf时用float还是double其实是一样的。用%f和%lf都可以。

double scanf输入时用%lf而printf用%f或%lf原理相关推荐

  1. java double输出 lf_为什么double类型输入(scanf)用%lf,输出(printf)用%f?

    float是浮点型,double是double float的意思,也就是双精度浮点型. %f是以float类型格式化输入或输出,%lf是long float的意思(估计是和%ld对应),也就是指dou ...

  2. 关于double和float和int以及%f,%lf,%llf,%Lf以及printf和scanf的总结

    如图: 注解: 建议不使用float变量,而使用double变量: float有效数字6-7位,还不如int类型表示的数据有效性高,而double 有效数字15-16位.另外,float占四个字节,d ...

  3. C语言scanf怎么输入字母,C语言scanf输入格式printf输出格式

    1. 转化说明符 %a(%A)浮点数,十六进制数字和p-(P-)表示法(C99)%c个字符 %d个有符号十进制整数 %f浮点数(包括浮点数和doulbe)%e(%E)浮点指数输出[e-(E-)表示法] ...

  4. C语言scanf输入a3,【C语言】04 printf和scanf函数

    1.printf函数 这是在stdio.h中声明的一个函数,因此使用前必须加入#include ,使用它可以向标准输出设备输出数据 1.用法 1> printf(字符串) printf(&quo ...

  5. c语言程序输入与输出函数,C语言printf()和scanf()函数?其实就是输入输出

    在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把结果 ...

  6. C语言中使用‘scanf’输入与‘printf’输出的几个例子

    C语言中使用'scanf'输入与'printf'输出格式及几个程序举例 初学者最常使用的就是键盘输入(scanf)和输出(printf) scanf的调用格式为: #include<stdio. ...

  7. 在kile上通过串口实现scanf输入和printf打印

    在kile上通过串口实现scanf和printf打印 基于stm32工程上实现 main函数 基于stm32工程上实现 重写两个fput()和fget()函数,重定向printf()和scanf() ...

  8. C语言[关于scanf接收输入时输入方式的一些细节]

    这里我用的是vs2022.建议大家多实践,多自己动手发现问题. 这里我用这八种输入方式进行演示. 这是第一种输出方式,b没有正确输入是因为scanf里我们使用空格隔开,这里我们却使用了逗号隔开.当他遇 ...

  9. C语言 scanf输入回车或空格时停止输入

    main() {int i,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]); } 输入一个数字再按空格会继续读入数字,如果输入的数据 ...

最新文章

  1. Java NIO系列教程(二) Channel
  2. ACM数论之旅17---反演定理 第一回 二项式反演(神说要有光 于是就有了光(´・ω・`))...
  3. 紧随时代发展 安防消费也在悄然发生改变
  4. centerpoint 项目
  5. 【Python】Pandas profiling 生成报告并部署的一站式解决方案
  6. Linux下的字符处理命令之tr命令详解
  7. python技术是什么意思_python中“//”表示什么意思_后端开发
  8. java 反射解析xml_java反射获取xml元素
  9. (转)淘淘商城系列——使用maven tomcat插件启动聚合工程
  10. clickhouse的kafka表引擎 +接口表
  11. kettle预览点两下才出数_谁才是娱乐圈油腻王中王?
  12. nosqlbooster 破解free
  13. RTNETLINK answers: File exists的解决方案
  14. ISO26262-道路车辆功能安全
  15. 02读书笔记:《编码》-隐匿在计算机软硬件背后的语言(12-14章)
  16. 数据湖三剑客Delt Lake、Hudi、Iceberg详解
  17. Python | 用Python画个美队盾牌送给你
  18. 动态申请权限---通讯录 及获取通讯录列表
  19. Web大学生网页作业成品——易购商城网站设计与实现(HTML+CSS+JavaScript)
  20. 数据扁平化与反扁平化

热门文章

  1. 硬盘突然变raw格式_硬盘变成RAW格式怎么办
  2. Super Res Zoom,借助 Pixel 3 增强图像清晰度和细节
  3. 优麒麟linux系统下载,优麒麟最新版Ubuntu Kylin 16.04官方发布下载地址
  4. 音频之耳机(Exynos7872)
  5. SAP函数 计算两个日期期间的天数
  6. vue-cli中使用高德地图及其插件
  7. ultraiso制作u盘启动盘教程
  8. 【转】如何读学术论文
  9. 【SystemVerilog基础】关于随机化约束solve...before的深入探究
  10. Java中的IO流与Properties