什么是'未定义的参考'pow''

use*_*764 9 c

我有一个键盘.

在第15行内的for函数

 for(i=2; i<=90; i+=2){
    int j=0+i;
    printf("%i\n",i);
    power=pow(inp,j);
    factor=factorial(i);
    if(i%4==0)fAns += power/factor;
    else fAns -= power/factor;
  }
Run Code Online (Sandbox Code Playgroud)

power=pow(inp,j);我添加的行j而不是使用,i因为它给了我同样的错误.undefined reference to 'pow'.

如果我j用2 替换,那么它工作正常,但当我使用j=i它不会工作.递增此行是否有问题?

我希望这个增加,而不是给我一个错误.

Joh*_*ter 24

您需要链接数学库.使用gcc,这意味着-lm在链接期间传递.

当你2用作指数值时它没有抱怨的原因是因为编译器正在优化pow调出.