Possible Duplicate:
Including files in C




我正在使用RunC编写一个简单的函数,该函数需要pow和floor / truncate。我包括了math.h。当我使用主要功能时,没有任何问题。但是,一旦我尝试创建一个单独的int函数,突然RunC没有pow和floor函数,并给我一个错误。有什么帮助吗?

这是代码:main()有效,但是如果我将其切换为使用上面的功能做同样的事情,它将无法工作

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

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

   while (temp != 0 || counter == 100){
      //temp = temp - (int)pow(floor(sqrt(temp)), 2);
      //temp = temp - pow(temp, 0.5);
      printf("%d\n", temp);
      counter = counter + 1;
   }

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

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


这样做:

#include <stdio.h>
#include <math.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;
}

int main(void){
   printf("%d", sumofsquares(3));
}


返回此错误:

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

最佳答案

使用gcc编译程序:

gcc -lm -o foo foo.c

关于c - RunC和math.h出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9402475/

10-11 21:17