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 に答える