gpt4 book ai didi

c++ - 当我们在 C++ 的参数中传递它们时,如何修改一些数组而不修改其他数组?

转载 作者:搜寻专家 更新时间:2023-10-31 00:09:27 25 4
gpt4 key购买 nike

我有以下 C++ 代码。当我们通过函数 modify 传递它时,我可以修改数组 x[] 的内容,但我不希望数组 z 的内容在我们传递它时被修改。我在尝试这样做时遇到了几个错误。请问你能帮帮我吗?看来我在函数中对矩阵 m 的初始化也有错误。

#include<iostream>
using namespace std;
void modify(int y[], int f[], const int size)
{
int m[size];
for (int i = 0; i < size; i++)
{
m[i] = f[i];
}
for (int i = 0; i <= 5; i++)
{
y[i] = 2 * y[i];
m[i] = 2 * m[i];
cout << "y[" << i << "]=" << y[i] << "\t"<<endl;
cout << "m[" << i << "]=" << m[i] << "\t"<<endl;
}
cout << endl;
}
int main(){
int x[6] = {1,2,3,4,5,6};
int z[6] = {1,2,3,4,5,6};
for (int i = 0; i <= 5; i++)
{ cout << "x[" << i << "]=" << x[i]<<"\t"<<endl;
cout << "z[" << i << "]=" << z[i] << "\t"<<endl;
}
cout << endl;
modify(x,z,6);
for (int i = 0; i <= 5; i++)
{
cout << "x[" << i << "]=" << x[i] << "\t" << endl;
cout << "z[" << i << "]=" << z[i] << "\t" << endl;
}
cout << endl;
system("pause");
return 0;
}

最佳答案

modify的参数f设为const int数组。这样,就不能对f的内容进行任何修改。

void modify(int y[], const int f[], const int size)

关于c++ - 当我们在 C++ 的参数中传递它们时,如何修改一些数组而不修改其他数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43236153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com