我在我的代码中尝试做的是将每个数字与数字直接相加在一起。所以Array [0] + Array [1],Array [1] + Array [2]等等。出于某种原因,在我的代码中,我得到的数字非常大,而且我不确定为什么
int main()
{
int Array[5];
for(int i=0;i<5;i++)
{
cout<<": Please enter a number."<<endl;
cin>>Array[5];
}
int n1, n2, n3, n4;
for(int i=0;i<5;i++)
cout<<Array[i]<<endl;
n1 = Array[0] + Array[1];
cout<<n1<<endl;
n2 = Array[1] + Array[2];
cout<<n2<<endl;
n3 = Array[2] + Array[3];
cout<<n3<<endl;
n4 = Array[3] + Array[4];
cout<<n4<<endl;
}
答案 0 :(得分:2)
变化:
cin>>Array[5];
到
cin>>Array[i];
当前发生的是您的数组包含4个未初始化的值,第5个值被覆盖5次。未初始化的值是垃圾值,这会产生很大的总和。
如评论中所述,您还应该意识到索引是基于0的。所以Array[5]
正在访问越界,这是未定义的行为。