我正在学习 C++,我很困惑为什么函数中发生的变化会反映在 main 中。谁能说出如何在不反映在主模块中的情况下更改函数中的数组..
感谢帮助
#include <iostream>
using namespace std;
void function1(int x[],int n){
for(int i=0;i<n;[enter image description here](https://i.stack.imgur.com/G17A6.png)i++){
x[i]=0;
}
}
int main(){
int n;
cout<<"Enter the number of terms :";
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin >> a[i];
}
function1(a,n);
//after calling a function
//printing an array declared in main
for(int i=0;i<n;i++){
cout<<a[i]<<endl;
}
return 0;
}
我写了一段代码来检查主模块和功能模块中数据的变化。调用函数后,我认为在调用函数之前输入到数组中的数据不会改变。然而,数据在功能上的变化,体现在主模块