读书人

c++ 二维数组输入有关问题

发布时间: 2012-05-27 05:42:30 作者: rapoo

c++ 二维数组输入问题
第一段代码:
#include <iostream>
using namespace std;
#define l 2
int main()
{
int a[l][l],i,j;
//cout<<"l"<<endl;
//cin>>l;
for(i=0;i<l;i++)
{
for(j=0;j<l;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";
cin>>a[i][j];

}

}
for(i=0;i<l;i++)
for(j=0;j<l;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";
cout<<a[i][j]<<endl;
}
return 0;
}
执行结果:

a[0][0]=1
a[0][1]=2
a[1][0]=3
a[1][1]=4

a[0][0]=1
a[0][1]=2
a[1][0]=3
a[1][1]=4
正确!
第二段代码:
#include <iostream>
using namespace std;
//#define l 2
int main()
{
int a[l][l],i,j;
cout<<"l"<<endl;
cin>>l;
for(i=0;i<l;i++)
{
for(j=0;j<l;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";
cin>>a[i][j];

}

}
for(i=0;i<l;i++)
for(j=0;j<l;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";
cout<<a[i][j]<<endl;
}
return 0;
}

执行结果:

a[0][0]=1
a[0][1]=2
a[1][0]=3
a[1][1]=4

a[0][0]=3
a[0][1]=4
a[1][0]=3
a[1][1]=4
错误,不明白为什么


[解决办法]

C/C++ code
#include <iostream>using namespace std;//#define l 2int main(){    int a[2][2],i,j,l;//楼主,数组大小一定要用常量,所以你可以先定义一个大一点的大小,//或者用 动态数组    cout<<"l"<<endl;    cin>>l;    for(i=0;i<l;i++)    {        for(j=0;j<l;j++)        {            cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";            cin>>a[i][j];                    }            }    for(i=0;i<l;i++)        for(j=0;j<l;j++)        {            cout<<"a["<<i<<"]"<<"["<<j<<"]"<<"=";            cout<<a[i][j]<<endl;        }        return 0;}
[解决办法]
int a[l][l],i,j;
cout<<"l"<<endl;
cin>>l;

顺序有问题啊
L还没赋值呢。就定义数组。定义的是什么呢?

读书人网 >C++

热点推荐