C++ C++;for循环使用一个数组输出的结果与使用多个数组输出的结果不同
当我把一个数组放入一个非常简单的for循环和把两个数组放入其中时,我不明白为什么输出是不同的C++ C++;for循环使用一个数组输出的结果与使用多个数组输出的结果不同,c++,arrays,for-loop,C++,Arrays,For Loop,当我把一个数组放入一个非常简单的for循环和把两个数组放入其中时,我不明白为什么输出是不同的 int arrR[100]; int arrN[100]; //function to run the simulation void runsim(){ for(int i=1;i<=100;i++){ arrN[i] = i; arrR[i] = i; } } //function to print the array void print
int arrR[100];
int arrN[100];
//function to run the simulation
void runsim(){
for(int i=1;i<=100;i++){
arrN[i] = i;
arrR[i] = i;
}
}
//function to print the array
void printarr(int x[100]){
for(int i=0;i <= 100;i++){
cout << x[i] << ", ";
}
cout << endl;
}
int main(){
runsim();
printarr(arrR);
printarr(arrN);
return 0;
}
int-arrR[100];
int arrN[100];
//函数来运行模拟
void runsim(){
对于(int i=1;i注意for
的条件是i注意for
的条件是i请注意数组索引从0
开始,而不是1
在n-1
结束,而不是n
。现在在您的函数中runsim()
您正在访问分配值100
到arrN[100]
和arrR[100]
,这是不可能导致的
您应该更改for循环条件
for(int i = 0; i < 100; i++) {
// Do something.
}
for(int i=0;i<100;i++){
//做点什么。
}
请注意,访问元素外部边界也不会产生任何错误。有关更多详细信息,请参阅请注意,数组索引从0
开始,而不是从1
结束,在n-1
结束,而不是n
。现在在您的函数中runsim()
您正在访问分配值100
到arrN[100]
和arrR[100]
,这是不可能导致的
您应该更改for循环条件
for(int i = 0; i < 100; i++) {
// Do something.
}
for(int i=0;i<100;i++){
//做点什么。
}
请注意,访问元素外边界也不会产生任何错误。有关更多详细信息,请参阅(int i=1;ithere's nox[100]
以访问(int i=1;ithere's nox[100]
谢谢你哇谢谢!我就知道会很简单。哇谢谢!我就知道会很简单。