c - 什么是 'undefined reference to ` pow''

标签 c

<分区>

我有一个 codepad .

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

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

如果我将 j 替换为 2,那么它就可以正常工作,但是当我使用 j=i 时,它将无法工作。增加这条线有问题吗?

我希望它递增而不是抛出错误。

最佳答案

您需要链接到数学库。对于 gcc,这意味着在链接期间传递 -lm

当您使用 2 作为指数值时它没有报错的原因是因为编译器正在优化 pow 调用。

关于c - 什么是 'undefined reference to ` pow'',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167714/

相关文章:

c - 如何在2个进程之间分配system-V共享内存

c - 为什么 scanf() 会导致此代码中的无限循环?

c - malloc 中的指针数组是什么意思?

c - Linux 内核中的内存映射 - vamlloc() 和 kmalloc() 的使用

c - mkstemp() - 关闭描述符并再次重新打开它是否安全?

ios - 在 xcode 中混合 C 和 Objective-C

c - 为什么 "printf"不产生任何输出?

c - 链接列表打印和添加元素

c - 在C中的文本文件中打印500个时间字符串以及连接的唯一随机数

c - 如何在 C 中获取发件人的 UDP 端口?