5
int main()
{
    char str[10]="3.5";
    printf("%lf",atof(str));
    return 0;
}

这是我在 ideone.com 测试的一个简单代码。我得到的输出为

-0.371627
4

2 回答 2

16

您没有包含 stdlib.h。添加适当的包括:

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

int main()
{
    char str[10]="3.5";
    printf("%lf",atof(str));
    return 0;
}

不包括 stdlib.h,atof()是隐式声明的,编译器假定它返回一个 int。

于 2013-02-17T05:15:59.283 回答
0

它可能是未定义的行为

于 2013-02-17T05:13:54.493 回答