我有一个返回 float
类型的 C 函数。
当函数返回 1.0f
时,接收方看到的是 1065353216
,而不是 1.0
。
我的意思是,以下内容:
float Function()
{
return 1.0f;
}
float value;
value = Function();
fprintf(stderr, "Printing 1.0f: %f", value);
显示:
1065353216
但不是:
1.0
最佳答案
您在一个源文件中定义您的函数并从另一个未提供签名的源文件中调用它,使编译器认为签名是 int Function()
,这会导致奇怪的结果。
您应该在 printf
所在的文件中添加签名:float Function();
。
例如:
float Function();
float value;
value = Function();
fprintf(stderr, "Printing 1.0f: %f", value);
关于c - 返回 1.0f 给我 1065353216,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6823646/