Sample.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)

请提出我是否想念一些东西。
提前致谢。

最佳答案

使用此方法,因为atof返回double,引用Man Page of atof()

double f = atof(str);


有关更多信息,
Double vs Float in C

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

10-12 15:16