gpt4 book ai didi

c - 将变量传递给 fmax

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:34 24 4
gpt4 key购买 nike

所以我有以下代码:

#include <math.h>
int main (void) {
float max = fmax (1.0,2.0);
return 0;
}

编译和运行良好,但如果不是将 1.0 和 2.0 传递给函数,而是将这些值传递给 a、b:

#include <math.h>
int main (void) {
float a = 1.0; float b = 2.0;
float max = fmax (a,b);
return 0;
}

我收到以下错误:

undefined reference to `fmax'

有什么区别?我做错了什么?

我正在使用这个命令来编译:

c99 fmax_test.c

最佳答案

在第一种情况下,fmax 可能在编译时被优化掉了。在第二种情况下,它不会,然后您会收到链接错误。在不知道你使用的是什么编译器的情况下,很难给出具体的补救措施,但如果是 gcc,那么你可能需要添加 -lm,例如

c99 -Wall fmax_test.c -lm

另请注意,fmax 用于double - 您应该为 float 使用 fmaxf

关于c - 将变量传递给 fmax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com