编写函数,通过形参间接修改形参 int main(){int a=10;f23(a);//修改a值} void f23(int &a){}
时间: 2024-09-10 18:27:51 浏览: 43
EDA/PLD中的如何将一维数组作为函数形参来使用
在C++中,如果希望函数能够直接修改其参数的值,可以通过引用传递参数的方式来实现。在你给出的例子中,`f23`函数通过引用(`&`符号表示)接收了一个整型参数`a`。这意味着,当`f23`函数被调用时,它接收的是实际参数`a`的内存地址,因此函数内部对参数`a`的任何修改都会直接反映到`main`函数中变量`a`的值上。
具体的代码实现如下:
```cpp
#include <iostream>
using namespace std;
void f23(int &a) {
a = 20; // 这里直接修改了引用传递过来的变量a的值
}
int main() {
int a = 10;
f23(a); // 调用f23函数,通过引用修改a的值
cout << a << endl; // 输出a的值,此时a的值已经被f23修改为20
return 0;
}
```
在这个例子中,当`f23(a);`被调用时,形参`a`是变量`main`函数中`a`的引用,因此在`f23`函数内部对形参`a`做的任何修改都会影响到`main`函数中的`a`。
阅读全文