这里是科学计数法双精度%le
然而这里的双精度输出却加了小数点
想知道为什么
参考GPT和自己的思路:
%f、%lf、%le以及%.lf都是C语言的格式化输出控制符,用于控制浮点数的输出格式。具体区别如下:
%f:表示输出浮点数,以小数形式输出,不进行科学计数法。例:printf("%f", 3.14159265358979323846) 输出结果为3.141593。
%lf:与%f相似,均表示输出浮点数,但输出的是双精度浮点数。例:printf("%lf", 3.14159265358979323846) 输出结果为3.141593。
%le:表示输出浮点数,以科学计数法形式输出,且输出为双精度浮点数。例:printf("%le", 123456789.123456789) 输出结果为1.234568e+08。
%.lf:表示输出浮点数,且保留小数点后指定位数,不进行科学计数法。例:printf("%.3lf", 3.14159265358979323846) 输出结果为3.142。
至于第二个问题,就是因为在前一个双精度的输出格式中使用了科学计数法的控制符%le,而在后一个输出中使用的是%f控制符,所以输出的结果不同。