C K&R 1.7 功率函数

标签 c function undefined-reference

我正在用这本书教我的 C 和 K&R,我对 1.7 示例中的幂函数感到困惑。

好吧,当我完全按照 Code::Block 书中给出的示例编写代码并运行它时,出现错误:undefined reference to 'power'。

代码如下:

#include <stdio.h>
#include <stdlib.h>

int power(int m, int n);
main ()
{
    int i;
    for (i = 0; i < 10; ++i)
        printf("%d %d %d\n", i, power(2, i), power(-3, i));
    return 0;
}

幂函数是库提供的预定义函数吗?因为上面的程序没有定义power的body部分

如果是这样,为什么我会遇到错误?我是否包含了错误的库?

最佳答案

错误消息说函数 power 没有定义。我确信书中某处有函数的定义,或者有一个练习需要您自己编写函数。

可以简单写一下。例如对于正 n 函数可以看起来像

int power(int m, int n)
{
    int result = 1;

    for ( ; n; --n ) result *= m;

    return result;
}

您可以修改函数,使其接受负数 n。:)

考虑到如果函数有返回类型long long int会更好

例如

long long int power(int m, unsigned int n)
{
    long long int result = 1;

    for ( ; n; --n ) result *= m;

    return result;
}

关于C K&R 1.7 功率函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862857/

相关文章:

c - 谐波平均产生不正确的结果

javascript - 需要 Reactjs 帮助来了解如何正确地将这个函数从父按钮组件传递到子按钮组件

c - 如何在 Cmake 中链接 curses.h?

C++ - 使用类时 undefined reference 问题

c++ - 来自虚函数的 undefined reference

c - c 多线程编程中的 pthread_create 参数

CMake:获取根项目名称

python - 将 Python 列表破坏为函数参数

c - 夹板有趣的错误消息

javascript - jQuery Ajax 调用函数