我正在学习C语言。我试图打印一组数据类型为"双精度"的数字,但它只打印了7位数字,如"浮点"。
例如:
double temp = 23.3456789112345;
printf("%1f\n", temp);
输出如下:
23.345679
然而,一旦我改变了小数点的位置,就像下面这样:
double temp = 2334567.89112345;
printf("%1f\n", temp);
结果显示:
2334567.891123
所以它几乎成功了。它不是只输出7位数,而是打印了13位数。但我认为数据类型"double"可以打印15 - 16位数。
1条答案
按热度按时间wljmcqd81#
来自C标准(7.21.6.1 fprintf函数)
比如你可以写
注意,
%lf
中的长度修饰符l
(我认为您希望使用%lf
而不是%1f
)是多余的,没有任何作用。