什么论点通过?

时间:2014-12-09 17:47:21

标签: c++ function parameters arguments double

我正在学习C++ language,但对一件小事感到困惑,就是这样 下面我已经推出了一些制作整数平方的代码。但我不理解x函数中raiseToPow的处理方式。这里double x是一个参数,它从调用函数中获取值并传递给for循环中的x。那么它是如何使该整数的平方从x传递的。请指导我。

#include <iostream>
using namespace std;

double raiseToPow(double x, int power){
   double result;
   result = 1.0;
   for (int i = 1; i <= power; i++)
   {
        result *= x;
   }
        return (result);
   }
 main()
   {
   double x;
   int i;
   cout << "Enter the Number: ";
   cin >> x;
   cout << "Enter the Power: ";
   cin >> i;
   cout << x << "Raise to power " << i << " is equal to " << raiseToPow(x , i);

   }

2 个答案:

答案 0 :(得分:0)

double x是取幂x power 的基础。

该函数使用定义x power 是1乘以x次幂。因此,2 3 是1 * 2 * 2 * 2并且4 5 是1 * 4 * 4 * 4 * 4 * 4。因此double result设置为1,然后for循环执行功率时间,每次将result乘以x并将其存储回result

答案 1 :(得分:0)

即使这是C ++,而不是C,逻辑也是一样的。 传入数字(x)及其指数(幂)。 x的值乘以&#39; power&#39;倍。 例如,如果你想知道2的幂增加到2的幂,你会将2,3传递给函数raiseToPow

声明

    result*=x 

相同
    result = x*result. 

因此,第一次通过循环时,结果将只是x的值(在本例中为2)。第二次循环,结果* = x会将x的值(即2)乘以结果中存储的值(现在也是2)。循环的第三个也是最后一个时间,结果* = x将乘以结果中存储的值的x倍(现在为4)。

2 ^ 3 = 8的值,这就是存储在变量结果中的值,因此从调用raiseToPow(2,3)返回值8。