求助该算法实现的功能
void fun(double &y,double x,int n){
y=x;
while(n>1){
y=y*x;
n--;
}
} 有哪行的代码看不懂吗?如果没有,按照每行的语义模拟执行一遍就理解了吧 本帖最后由 jackz007 于 2022-9-8 16:02 编辑
y = x ^ n ; dolly_yos2 发表于 2022-9-8 15:59
有哪行的代码看不懂吗?如果没有,按照每行的语义模拟执行一遍就理解了吧
不太懂为啥是&y ,前面的这个不就表示取地址吗 Souka2 发表于 2022-9-8 16:07
不太懂为啥是&y ,前面的这个不就表示取地址吗
这个应该是 C++ 中的语法:引用。一定程度上可以认为与 C 中向函数中传递指针等效,可以用于让函数可以修改外部变量,但语法上更简洁。
换言之,对此函数的调用若为
fun(result, 3.0, 10);
则此函数将修改 result 的值。此函数的功能与三楼所述一致,即上述调用返回后 result 的值应为 3.0^10 (不考虑任何溢出) Souka2 发表于 2022-9-8 16:07
不太懂为啥是&y ,前面的这个不就表示取地址吗
void fun(double &y,double x,int n)// 在函数定义中,& y 不是取地址,而是变量引用。形式参数 y 在函数中的改变可以被反馈到函数调用处。
页:
[1]