C 为什么这段代码会产生与pow函数有关的错误?

C 为什么这段代码会产生与pow函数有关的错误?,c,macos,math,gcc,compiler-errors,C,Macos,Math,Gcc,Compiler Errors,我如何纠正这一点 在我无法让它在在线编译器上运行后,我听从了其他线程的建议 该文件存储在mac上的文件grades.c下 我试过输入这个 /tmp/cc28S7ML.o: In function exp_for_level': main.c:(.text+0x19): undefined reference to `pow' collect2: error: ld returned 1 exit status 进入我的终端,我只得到zsh错误:未找到命令 对这里的问题有什么想法吗? 我使用的在

我如何纠正这一点

在我无法让它在在线编译器上运行后,我听从了其他线程的建议 该文件存储在mac上的文件grades.c下 我试过输入这个

/tmp/cc28S7ML.o: In function exp_for_level':
main.c:(.text+0x19): undefined reference to `pow'
collect2: error: ld returned 1 exit status
进入我的终端,我只得到
zsh错误:未找到命令

对这里的问题有什么想法吗? 我使用的在线编译器是


编辑:在我的帖子中,主要是我将函数错误地写为exp_to_level,而不是exp_for_level。没有复制粘贴整个代码,因为它太长了。我缩小了范围,并将其重新键入产生错误的部分

您的代码中有一些错误,您已经为\u级别定义了一个函数
exp\u
,但是您使用了
exp\u到\u级别

那么您的
x
变量就没有定义

如果您这样修复代码:

$ gcc - Wall - lm -o grades grade . c
它起作用了

关于联机编译器上的错误

出现
未定义引用
错误,因为缺少
-lm
链接器选项

单击
Project->compileoptions
,编辑联机编译器命令:

关于本地计算机上的此问题:

在我无法让它在在线编译器上工作后,我就跟着做了 来自文件上其他线程的建议存储在一个文件下 在我的mac电脑上我试过输入这个

gcc -Wall powtest.c -o powtest -lm
进入我的终端,我只得到zsh错误:找不到命令

您没有安装编译器


您应该安装
clang
,查看一下这个您的代码中有一些错误,您已经定义了一个函数
exp\u作为\u级别
,但是您使用了
exp\u作为\u级别

那么您的
x
变量就没有定义

如果您这样修复代码:

$ gcc - Wall - lm -o grades grade . c
它起作用了

关于联机编译器上的错误

出现
未定义引用
错误,因为缺少
-lm
链接器选项

单击
Project->compileoptions
,编辑联机编译器命令:

关于本地计算机上的此问题:

在我无法让它在在线编译器上工作后,我就跟着做了 来自文件上其他线程的建议存储在一个文件下 在我的mac电脑上我试过输入这个

gcc -Wall powtest.c -o powtest -lm
进入我的终端,我只得到zsh错误:找不到命令

您没有安装编译器


你应该安装
clang
,看看这个首先你的函数名主要是错误的,看看这里
exp\u的级别

主要是将其
exp\u更改为\u级别
更改其中一个,然后在main中添加
int x
以解决此问题。

首先,您的函数名主要是错误的,请查看此处
exp\u的\u级别

主要是将其
exp\u更改为\u级别
更改其中一个,然后在主要位置添加
int x
以解决问题。

订购事宜,将
-lm
放在最末尾。您可以复制/粘贴实际代码吗?由于其他原因,这无法编译。
-Wall
-lm
中的空格对哪个在线编译器没有帮助?我们仍在等待您告诉我们您正在使用哪个在线调试器。而且您的源代码仍然是伪造的,在
x
之前缺少
int
。你可以回答你的问题。你在这里重新输入代码了吗?你为什么不复制/粘贴它?订单很重要,把
-lm
放在最后面。你能复制/粘贴实际的代码吗?由于其他原因,这无法编译。
-Wall
-lm
中的空格对哪个在线编译器没有帮助?我们仍在等待您告诉我们您正在使用哪个在线调试器。而且您的源代码仍然是伪造的,在
x
之前缺少
int
。你可以回答你的问题。你在这里重新输入代码了吗?你为什么不复制/粘贴它?
$ gcc - Wall - lm -o grades grade . c