gpt4 book ai didi

c - 在 C 中包含文件

转载 作者:行者123 更新时间:2023-11-30 18:19:17 26 4
gpt4 key购买 nike

我想做一个简单的函数,涉及 sqrt() , floor()pow() 。所以,我包括了<math.h> 。当我尝试使用我的函数时,我的程序显示 sqrt()floor()不存在。我已经三次检查了我的文件并重写了它们,但它仍然给出相同的错误。只是为了检查 <math.h> 是否有任何问题目录中,我制作了另一个单独的文件来计算相同的内容并且它有效。我现在一无所知。我做错了什么?

无法运行的程序的代码:

#include <math.h>
#include "sumofsquares.h"

int sumofsquares(int x){
int counter = 0;
int temp = x;

while(temp != 0){
temp = temp - (int)pow(floor(sqrt(temp)), 2);
counter ++;
}
return counter;
}

工作测试文件:

#include <stdio.h>
#include <math.h>

int main(void){
printf("%d", (int)pow(floor(sqrt(3)), 2));
}

错误是这样的

/tmp/ccm0CMTL.o: In function sumofsquares': /home/cs136/cs136Assignments/a04/sumofsquares.c:9: undefined reference to sqrt' /home/cs136/cs136Assignments/a04/sumofsquares.c:9: undefined reference to floor' collect2: ld returned 1 exit status`

我在虚拟 Ubuntu 操作系统上使用 runC 进行编译

最佳答案

您可能缺少链接数学库所需的 gcc-lm 参数。尝试:

gcc ... <stuff> ... -lm

至少有两个与您的问题相关的 C 常见问题解答:

关于c - 在 C 中包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399480/

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