我们平时用的时候都是用的
while(scanf("%lf",&Fnum)!=EOF)
这个问题与函数输入函数,scanf()的返回值有关,当需要输入的变量都输入成功时,会返回输入的个数,你只让函数输入一个值,所以返回是1,换成其他就不正确了。如果遇到错误或遇到end of file,返回值为EOF。所以我的那种写法更通用一些。
printf("%2lf\n" ,m,input) 是输出一个浮点数,保留两位小数。其中,函数调用时格式串中的号会被参数中的m代替。
其中,%f 对应 float;%lf 对应 double;%lf 对应 long double;%e以科学计数法显示;%g在%e和%f中择短显示,
扩展资料:
函数调用的一般形式:
在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。
C语言中,函数调用的一般形式为:
函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
由于精度的原因,输出%lf和%f的数据不同,可能会造成错误。
主要有一下四点区别:
1、代表的数据类型不同
%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据(double)。
2、有效数字位数不同
单精度浮点数有效数字保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位。
3、所能表示数的范围不同
单精度浮点的表示范围:-340E+38 ~ +340E+38,双精度浮点的表示范围:-179E+308 ~ +179E+308
4、在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
应该是%53lf吧,控制输出类型及格式的
5指输出的数宽度为5列
3指输出的数保留到小数点后三位
lf指双精度浮点型,对应double类型的数
如有不懂,欢迎追问!
以上就是关于C语言 while( scanf("%lf",&Fnum) ==1 ) 没搞懂全部的内容,包括:C语言 while( scanf("%lf",&Fnum) ==1 ) 没搞懂、%.*lf 简单的c语言、c语言里%f跟%lf有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)