在C++中,我为2D数组编写了一个代码来添加每一行元素。 但是我不明白为什么我在第5行和第6行得到sum=3,在这里我得到的是sum=2,而不是3.但是在我的代码中,其他行给出了正确的结果。 我不知道问题出在哪里?
#include<iostream>
using namespace std;
int main(){
int a[8][4]={{1,1,0,0},{0,1,0,0},{0,0,0,0},{0,0,0,0},{0,1,1,0},{0,1,1,0},{0,0,1,0},{0,0,1,0}};
for(int i=0;i<8;i++){
for(int j=0;j<4;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
cout<<endl<<endl;
int a_row[4]={0};
cout<<endl;
for(int i=0;i<8;i++)
{
for(int j=0;j<4;j++)
{
a_row[i]=a_row[i]+a[i][j];
}
cout<<"Row"<<i+1<<": "<<a_row[i]<<endl;
}
return 0;
}
看看a_row
有多大
int a_row[4]={0};
现在看看i
有多大
for(int i=0;i<8;i++)
现在看看如何使用a_row
和i
a_row[i]=a_row[i]+a[i][j];
看到问题了吗?
实际上,根本不需要将a_row
设置为数组。 简单的int
变量也可以工作。 您不必总是因为有一个循环就必须使用数组。