都可以,只是输出形式有所不同,%lf是以普通的浮点数的方式输出,而%le是以科学计数法的形式输出。
例如:
int main()
{
double n;
scanf("%lf",&n);
printf("浮点数的方式%lf\n 科学计数法的方式%le",n,n);
return 0;
}
输入:123.4556666
浮点数的方式123.455667 科学计数法的方式1.234557e+002
扩展资料:
单精度浮点数(float)与双精度浮点数(double)的区别如下:
1,在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
2,有效数字位数不同
单精度浮点数有效数字7位
双精度浮点数有效数字16位
3,所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
4,在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
参考资料来源:百度百科-双精度浮点数
输出浮点数可以使用的转换说明符是%f和%e。%f显示小数表示的普通浮点数,%e显示科学计数法表示的浮点数。输出双精度(double)类型时,还需要在转换字符前加上字母l。
c语言双精度浮点类型即double的格式控制符为%lf。
其他如
单精度浮点类型float %f
整型 int %d
字符类型 char %c
output:123456.123
printf("%n1.n2f\n",123456.123);中n1、n2是指定的输出字段宽度,n1表示小数点前的,n2表示小数点后的。如果n1小于要输出数小数点前的宽度,则按实际宽度输出,如果大于则在左端补上相应个空格,比如
printf("%7.3f\n",123456.123456),则输出 123456.123,注意1前面有一个空格。而n2表示小数点后要保留几位。
清楚了吧,没有的话再问。
答案是“le%”。我也不知道为什么,反正答案没选“lf%”。