首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-05-27 
c++ 二维数组输入问题第一段代码:#include iostreamusing namespace std#define l 2int main(){int a[l

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还没赋值呢。就定义数组。定义的是什么呢?

热点排行