首页 > 试题广场 >

格式符“ %lf ”不能用于 double 类型数据的输入。

[单选题]
格式符“ %lf ”不能用于 double 类型数据的输入。请问这句话的说法是正确的吗?
  • 正确
  • 错误
推荐
B
(1)scanf对于float类型必须用%f,double必须用%lf,对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。
(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。
(2)printf的%f说明符既可以输出float型又可以输出double型。
根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。
编辑于 2019-12-03 14:35:43 回复(0)
B。双精度浮点类型,即double的格式控制符为%lf
  • printf("输出控制符",输出参数);将变量(输出参数)以控制符对应的进制输出。输出参数是对计算机运行计算后的二进制进行转化对应的进制后赋值给输出参数。
  • scanf("输入控制符", 输入参数);将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。输入参数是操作系统在接收键盘数据时都将它当成字符来接收的。这时就需要用“输入控制符”将它转化一下。输入参数&是一个取地址运算符,&后面加变量名表示“该变量的地址”
发表于 2019-12-02 18:53:03 回复(0)