*在每天敲代码的过程中,数组可谓是我们我们用的最多的东西之一呢,而在使用过程中,我们会发现许多东西。
1.一维数组的输入:
一维数组的最简单的输入就不说了:
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int s[10];
for(int i=0;i<10;i++)
//scanf("%d",&s[i]);
scanf("%d",s+i);//s+i等同于&s[i,用scanf是因为cin在输入时时直接调用,而非采用地址传输。
for(int i=0;i<10;i++)
cout<<s[i]<<" ";
return 0;
}*
二、在使用二维数组时,我们一般会使用二重循环来读入,那如何模拟一维数组来读入二维数组的值呢:
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int s[2][2];
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
//scanf("%d",&s[i][j]);正常方法
//scanf("%d",s+i*2+j);//方法错误
scanf("%d",*(s+i)+j);//当做一位数组,正确
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
//cout<<s[i][j]<<' ';
cout<<*(*(s+i)+j)<<' ';//用这个可以很好地理解二维数组的本质,就是一维数组的数组,s[i][j]转化为一维数组即为s[i*m+j](m为每行元素个数)
cout<<endl;
}
return 0;
}
三、更多维的数组:
待更新
1167



被折叠的 条评论
为什么被折叠?



