Mocca 发表于 2021-11-17 21:20:47

请教函数问题什么是 double val = 1.0;

本帖最后由 Mocca 于 2021-11-17 21:24 编辑

问题:求x的n次方

#include <iostream>
using namespace std;

double power(double x, int n) {
    double val = 1.0;             <---------------------------------------------我是初学者,不明白为何这里是val? 是什么公式?次方的公式?我没学过。。
    while (n--)
      val *= x;
    return val;
}



int main()
{
    double pow;
    pow = power(5, 2);
    cout << "5 to the power 2 is " << pow << endl;
    //函数调用作为一个表达式出现在输出语句中
    return 0;
}

wp231957 发表于 2021-11-17 21:24:36

变量名而已,内存中的一个地址而已

Mocca 发表于 2021-11-17 21:48:27

本帖最后由 Mocca 于 2021-11-17 21:51 编辑

wp231957 发表于 2021-11-17 21:24
变量名而已,内存中的一个地址而已

谢谢您的回复,
但是这个
(n--)
val *= x;

我是自学的,我没学过这个。。为何是n-- ,为何是 *=x?
我明白n-- 是 n自减,*=x是 val * x
但是我不明白为何这个公式就可以算出 次方?

我尝试搜索。。但是不懂这个叫什么去哪里学。。

傻眼貓咪 发表于 2021-11-17 21:56:17

Mocca 发表于 2021-11-17 21:48
谢谢您的回复,
但是这个
(n--)


n-- 如同 n = n-1
val *= x 如同 val = val * x

傻眼貓咪 发表于 2021-11-17 21:57:58

Mocca 发表于 2021-11-17 21:48
谢谢您的回复,
但是这个
(n--)


while n 表示 val 乘 x 至少 n 次(每次 n 自减,直到 n 为 0 退出循环)

Mocca 发表于 2021-11-17 22:09:56

傻眼貓咪 发表于 2021-11-17 21:57
while n 表示 val 乘 x 至少 n 次(每次 n 自减,直到 n 为 0 退出循环)

谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。

wp231957 发表于 2021-11-18 07:25:00

Mocca 发表于 2021-11-17 22:09
谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。

那你咋算??
5的3次幂不是三个5相乘??
6的8次幂不是8个6相乘???
电脑编程绝大多数都是模拟而已

傻眼貓咪 发表于 2021-11-18 18:25:56

Mocca 发表于 2021-11-17 22:09
谢谢,这个算法是你们中学学过的?
我没学过n次方原来可以这样找。

是啊,学校有学习过{:5_109:}

Mocca 发表于 2021-11-18 18:26:55

wp231957 发表于 2021-11-18 07:25
那你咋算??
5的3次幂不是三个5相乘??
6的8次幂不是8个6相乘???


请问学编程是不是都要有运算学基础?
我中学没学这些数学。

wp231957 发表于 2021-11-18 19:34:07

Mocca 发表于 2021-11-18 18:26
请问学编程是不是都要有运算学基础?
我中学没学这些数学。

这些都是初中数学知识点,不知道啥叫   运算学
页: [1]
查看完整版本: 请教函数问题什么是 double val = 1.0;