(1)printf的%f说明符既可以输出float型又可以输出double型。 根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。 (2)scanf对于float类型必须用%f,double必须用%lf 对于scanf,情况就完全不同了,它接...
这是因为程序中输出数据的格式符指定错误。因为float型的输出必须%f而不能使用%lf格式符。,还有就是要注意输入数据时,要用英文的逗号分隔不同的数字:关于printf格式符更多的使用说明,见下述:详见:网页链接
(1)printf的%f说明符既可以输出float型又可以输出double型。 根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。 (2)scanf对于float类型必须用%f,double必须用%lf 对于scanf,情况就完全不同了,它接...
scanf(),printf()输入输出float和double型数据 printf()的%f说明符既可以输出float型又可以输出double型。 根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。 scanf对于float类型必须用%f,double必须用...
为什么printf()用%f输出double型,而scanf却用%lf呢? 答:printf的%f说明符的确既可以输出float型又可以输出double型。 根据"默认参数提升"规则(在printf这样的函数的可变参数列表中 ,不论作用域内有没有原型,都适... bigfish__ 0 6647 scanf与printf用法详解 2013-09-09 19:11 − 一、scanf家族 1、...