我在此作业中的任务之一是将5添加到我的数组中的最大值。教授说使用void函数并传递一个值,我做了。程序增加5到最大值67,得到72.但是,当我打印数组时,它表示67在数组中它应该说72.有没有办法让它在主函数中说72,而不仅仅是在main函数中向元素67添加5,但是使用void increment(int y)?
这是我用来将最大值增加5的功能。
void incre(int y){
y+=5;
cout << "The new max after 5 is added is " << y << endl;
}
这是我用来打印数组的代码,输出
0 21
1 23
2 67
何时输出
0 21
1 23
2 72
cout << "Elements ------ Values\n";
for (int r = 0; r < array_size; r++){
cout << r << " ------------- " << A[r]<< endl;
}
另外,如何使用引用传递将数组传递给函数?我不确定我是否通过我的代码中的值传递或通过引用传递
void fill_array(int x[], int size){
cout << "Enter in the values 23, then 21 and then 67\n";
for (int z=0;z<size; z++) {
cin >> x[z];
} }
在主要功能中我把
fill_array(A, array_size);
答案 0 :(得分:1)
这是我用来将最大值增加5的功能。
参数通过值传递给函数。对其所做的任何更改仅影响参数的本地副本,而不影响调用函数中的变量。如果要查看调用函数中反映的更改,请将参数更改为引用参数。
// |
// v
void incre(int& y){
y+=5;
cout << "The new max after 5 is added is " << y << endl;
}