计算5到3的幂,但它返回0.为什么?

Joh*_*ohn 4 c++ function

#include <iostream>

double power (double z, int n)
{
    double result(0.0);
    for (int i = 1; i <= n; i++)
        result *= z;
    return result;
}

int main()
{
    int index(3);
    double x(5.0), double y(0.0);
    y = power (x, index);
    std::cout << y << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

您好,此代码中的错误在哪里,好吗?

谢谢!

Oli*_*rth 12

因为result初始化为0.而且我们知道,0 * anything == 0.你需要从头开始1.

[将来,请学习如何调试!如果您在调试器中逐步执行了代码,或者printf在函数中添加了一些语句,则很容易发现这一点.