возвращая тип с плавающей точкой из функции в c - PullRequest
5 голосов
/ 03 января 2011

У меня есть этот простой код:

int main()
{
    float x = foo();
    printf("returned value: %f", x);
    return 0;
}

float foo ()
{
    return 5;
}

когда я запускаю код, вывод: "возвращаемое значение: -858993472.000000"

Может кто-нибудь объяснить мне, почему возвращаемое значение не 5.000000?

1 Ответ

18 голосов
/ 03 января 2011

В тот момент, когда вы вызываете функцию, в области действия нет прототипа.Это означает, что функция должна возвращать int.Добавьте прототип до точки, где вы впервые вызываете функцию.

float f(void);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...