数组通过引用传递。函数内对数组所做的任何更改都changeArray
将在调用范围(main
此处的函数)中观察到。
但是,下面的代码0 1
在第 1个cout
打印,并2
在第 2 个“cout”打印。我不明白的是,为什么第一个cout
打印原始值array[0]=1
而不是更改后的值array[0]=2
?
非常感谢。
#include <iostream>
using namespace std;
int changeArray(int array[]) {
array[0]=2*array[0];
return 0;
}
int main() {
int array[]={1,2,3,4};
cout << changeArray(array) << " " << array[0] << endl;
cout << array[0] << endl;
return 0;
}