gpt4 book ai didi

c - 带 float 的 scanf() 的最大字段宽度

转载 作者:行者123 更新时间:2023-12-04 08:19:50 26 4
gpt4 key购买 nike

scanf() 函数的控制字符串中指定的最大字段宽度指定可以读入变量的最大字符数。
根据这个解释,如果以下代码的输入是 123.456 ,输出应该是 123.45 ,但我得到 123.4 作为输出。

#include <stdio.h>

int main() {
float f;
scanf("%5f", &f);
printf("%f", f);

return 0;
}
我无法理解输出的原因。

最佳答案

According to this explanation,
if the input for the following code is 123.456, the output should be 123.45 but I am getting 123.4 as the output.


是的,根据您编写的代码,您得到了正确的输出。
您在 "%5f" 中使用的 scanf 指定了当前读取操作中要读取的最大字符数。
所以在你的输出中, 123.4 是 5 个字符(包括 . )
如果要在 x 后打印 . 位数,请使用 %.xf
#include <stdio.h>

int main() {
float f;
printf("Enter a float number:");
scanf("%f", &f);
printf(" with .2f = %.2f\n", f);
printf(" default = %f\n", f);

return 0;
}
输出:
Enter a float number:123.456
with .2f = 123.46
default = 123.456001

关于c - 带 float 的 scanf() 的最大字段宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65548865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com