1.数组
void InputArray(int a[][N],int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
scanf("%d",&a[i][j]);
}
}
}
void OutputArray(int a[][N],int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
printf("%d",a[i][j]);
}
}
}
2.用指针
2.1 行指针
void InputArray(int (*p)[N],int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
scanf("%d",*(p*i)+j);
}
}
}
void OutputArray(int (*p)[N],int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
printf("%d",*(*(p+i)+j);
}
}
}
2.2 列指针
void InputArray(int *p,int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
scanf( "%d",&p[i*n+j] );
}
}
}
void OutputArray(int *p,int m,int n)
{
int i,j;
for( i=0;i<m;i++)
{
for( j=0;j<n;j++ )
{
printf( "%d",p[i*n+j] );
}
}
}
本文详细讲解了如何使用数组和指针进行输入和输出操作,包括二维数组的逐元素读写,以及一维指针的行和列指向技巧。通过实例展示了两种方法的代码实现和优化策略。
1万+

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



