Что не так с использованием функции atof?

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

Это простой код, который я тестирую на ideone.com. Я получаю вывод как

-0.371627

2 ответа

Решение

Вы не включили 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.

Другие вопросы по тегам