电源功能c ++

时间:2015-11-15 02:00:48

标签: c++ function

我已经给出了下面的代码,我试着研究这个功能是如何工作的。我不明白当你进入while循环时会发生什么。结果是否乘以x值的幂?为什么n会降低?我主要不明白result *=x;的作用。

//power(x, n) raises integer x to the power n
//no negative powers
int power(int x, unsigned n)
{
    int result=1;
    while (n>0)
    {
        result *= x;
        --n;
    }
    return result;
}

2 个答案:

答案 0 :(得分:4)

提示,以下几行是等效的(在此上下文中):

result *= x;
result = result * x;

--n;
n = n - 1;

所以你的函数写得尽可能简单:

int power(int base, int exponent) {
    int result = 1;
    while (exponent > 0) {
        result = result * base;
        exponent = exponent - 1;
    }
    return result;
}

你现在应该更容易理解它。

答案 1 :(得分:0)

power的{​​{1}}函数只是乘以x倍。

(x,n)表示result *= x;

result = results * x;循环确保while已乘以x次。

n表示--n。如果n = n - 1,则表示n=0已乘以x次。然后,循环结束。