【发布时间】:2021-01-03 10:37:39
【问题描述】:
scanf()函数的控制字符串中指定的最大字段宽度指定了可以读入变量的最大字符数。
根据这个解释,如果下面代码的输入是123.456,输出应该是123.45,但我得到的是123.4作为输出。
#include <stdio.h>
int main() {
float f;
scanf("%5f", &f);
printf("%f", f);
return 0;
}
我无法理解输出的原因。
【问题讨论】:
-
123.4不是五个字符吗?你没有得到123.400002作为输出吗? -
Sindhuja,“但我得到 123.4 作为输出”--> 最好发布准确的真实输出,它更像
"123.400001"而不是"123.4"。
标签: c floating-point scanf