11

我有一个键盘

在 for 函数内的第 15 行

 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;
  }

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

如果我j用 2 替换,那么它工作得很好,但是当我使用j=i它时它就不起作用了。增加这条线有问题吗?

我希望它增加而不是给我一个错误。

4

1 回答 1

28

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

2当您用作指数值时它不会抱怨的原因是编译器正在优化pow调用。

于 2012-04-16T01:24:39.820 回答