For 循环 C++ 中的值错误

Wrong Values in For Loop C++

本文关键字:错误 循环 C++ For      更新时间:2023-10-16

我正在尝试从数组 a[] 打印存储在数组 l[] 和 r[] 中的值。
当我尝试打印数组 l[] 的值时,它向我显示无效值。
但是当我在 a[] 的数组 r[] 中提供值的行向下注释时,数组 l[] 的值就会显示正确的值。

我提供输入值 1 2 3 ...10 并且输出即将到来 7 8 9 10 5 但是当我评论为 arrar r[] 提供值的行时,输出是正确的 1 2 3 4 5。

为什么会这样?

#include <iostream>
using namespace std;
int main()
{
int a[10], l[6], r[6],m = 0,n = 0;
for(int i=0;i<10;i++)
cin>>a[i];
for(int i=0;i<5;i++)
l[i] = a[i];
for(int i=5;i<10;i++)
r[i] = a[i];  
//l[6] = r[6] = 1e9;
for(int i=0;i<5;i++)
cout<<l[i];
return 0;
}

这是你的代码:

for(int i=0;i<10;i++)
cin>>a[i];  // this one looks OK
for(int i=0;i<5;i++)
l[i] = a[i];  // this one looks OK too
for(int i=5;i<10;i++)
r[i] = a[i];  // you access 'r' beyond 5 that damages other vars