gpt4 book ai didi

c - atof() 的错误行为

转载 作者:行者123 更新时间:2023-11-30 20:55:40 30 4
gpt4 key购买 nike

示例.c:

#include<stdio.h>
#include<stdlib.h>

main()
{
char str[10] = "111.1";
float f = (float)atof(str);
printf ("\n (%s , %f) \n",str,f);
}

上述代码的输出是: (111.1,111.099998)

请建议我是否遗漏了什么。提前致谢。

最佳答案

从 float 更改为 double 有一点帮助,但并不能“解决”“问题”。首先,没有问题,只是感觉有问题。正如 Dayal Rai 所说,111.099998 是使用 float 可以得到的最接近 111.1 的值。但即使是 double 也不能表示 111.1,如果使用更多小数位打印它的值,您会发现这一点。请参阅 Sohil Omer 引用的引用文献。

关于c - atof() 的错误行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380332/

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