美文网首页
scanf(),printf()输入输出float和double

scanf(),printf()输入输出float和double

作者: 瓜尔佳Anthony | 来源:发表于2019-03-09 09:37 被阅读0次
  1. printf()的%f说明符既可以输出float型又可以输出double型。
    根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。
  2. scanf对于float类型必须用%f,double必须用%lf
    对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。
  3. 事实上,printf中没有定义%lf,但是很多系统可能会接受它。要确保可移植性,就要坚持使用%f。
    要想保留小数位数,请使用(比如保留8位小数):printf("%.8f",a);

相关文章

  • scanf(),printf()输入输出float和double

    printf()的%f说明符既可以输出float型又可以输出double型。根据“默认参数提升”规则(在print...

  • 格式化输入输出

    格式化输入输出 printf%[flags] [width] [.prec] [HIL] type scanf%[...

  • C语言的基本输入与输出函数

    C语言中最常用最基础的输入输出函数:printf() 和 scanf(); 例子: import

  • C语言学习04.格式化输入输出

    C语言的格式化输入输出靠的是printf和scanf函数,在stdio.h头文件。 格式化输出: Printf具有...

  • C语言基础知识

    float类型 double类型 char 类型 接收用户输入 scanf scanf输入的值是可以判断的 强制类...

  • 数学问题——统计时间间隔

    知识点 简单的题注意输入输出用 scanf 和 printf 以免超时 时钟是圆环,正转和反转相差 24 小时,...

  • C进阶1:文件操作

    0. 文件输入输出 使用printf()和命令行重定向>实现文件输出;使用scanf()和命令行重定向<实现文件输...

  • C语言

    //迭代法求a的两个根 float a; printf("请输入一个数字:"); scanf("%f",&a); ...

  • 新建链表

    1.首先得要有两个基本的头文件 #include //用于scanf, printf 标准输入输出 #in...

  • 可变参数在宏定义中的应用

    在C语言的标准库中,printf、scanf、sscanf、sprintf这些标准库的输入输出函数,参数都是可变的...

网友评论

      本文标题:scanf(),printf()输入输出float和double

      本文链接:https://www.haomeiwen.com/subject/bgajpqtx.html