我有这个简单的代码:
int main()
{
float x = foo();
printf("returned value: %f", x);
return 0;
}
float foo ()
{
return 5;
}
当我运行代码时,输出为:“返回值:-858993472.000000”
有人可以向我解释为什么返回的值不是5.000000?
答案 0 :(得分:18)
在您调用函数时,范围内没有原型。这意味着假定函数返回int
。在第一次调用函数之前添加原型。
float f(void);