(1)printf的%f说明符既可以输出float型又可以输出double型。 根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。 (2)scanf对于float类型必须用%f,double必须用%lf 对于scanf,情况就完全不同了,它接...
这是因为程序中输出数据的格式符指定错误。因为float型的输出必须%f而不能使用%lf格式符。,还有就是要注意输入数据时,要用英文的逗号分隔不同的数字:关于printf格式符更多的使用说明,见下述:详见:网页链接
在使用scanf函数进行输入时,输入数据的类型和格式符对应关系不正确的是A.int %dB.float %fC.char %cD.double %f
(1)printf的%f说明符既可以输出float型又可以输出double型。 根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。 (2)scanf对于float类型必须用%f,double必须用%lf 对于scanf,情况就完全不同了,它接...
(转载)scanf,printf输入输出float和double型数据 2013-05-10 10:37 −... robotke1 0 705 printf中输出double的占位符 2012-03-22 15:22 −问:有人告诉我不能在printf中使用%lf。为什么printf()用%f输出double型,而scanf却用%lf呢? 答:printf的%f说明符的确既可以输出float型又可以输出double型。 根据...