c++ 二维数组输入问题

int i,j;
int a[100][100];
cin>>i>>j>>a[i][j];
为什么这样用cin连续输入时会出现错误?
而下面就不会出现错误?求原理
int i,j;
int a[100][100];
cin>>i>>j;
cin>>a[i][j];

我的理解是当cin>>i>>j>>a[i][j];执行完时,i,j才会真的被赋值,所以对于cin>>i>>j>>a[i][j];输入a[i][j]时,i,j还没有值,所以出错,可通过给i,j赋初始值来验证:

#include<iostream.h>
void main()
{
int i=0,j=1;
int a[100][100];
cin>>i>>j;
cin>>a[i][j];
}
这样就不会报错了~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-19
第一个,输入,i 输入 j,这时二维数组已经有值了,不允许操作了,所以报错。第二个,允许改值,
相似回答