atof将字符串读为0

时间:2014-03-01 21:43:05

标签: c atof

我想我只是愚蠢(我全都尝试过)。帮帮我离开这里:

#include <stdio.h>
#include <string.h>
int main()
{
    const char * y = "747.0";
    double x;
    x = atof(y);
    printf("%.5f\n",x);
    printf("%e\n",x);
    return 0;
}

结果:

0.00000
0.000000e+00

2 个答案:

答案 0 :(得分:6)

您需要包含stdlib.h以提供atof()原型,如果没有适当的原型,编译器会假设其返回值为int

答案 1 :(得分:0)

尝试包含stdlib.h,因为我认为这是你在C语言中所需的包。