主题:二维数组指针传递问题
#include<stdio.h>
#define N 3
void Input(int (*m)[N],int n)
{
printf("please input the arrary:\n");
int *q ;
int (*p)[N];
for(p=m;p<m+n;p++)
{
for(q=*p;q<*p+N;q++)
scanf("%d",q);
}
}
void Print(int (*m)[N],int n)
{
int *q;
int (*p)[N];
clrscr();
for(p=m;p<m+n;p++)
{for(q=*p;q<*p+N;q++)
printf("%3d",*q);
printf("\n");
}
}
void main(void)
{
int a[2][3];
Input(a,2);
Print(a,2);
getch();
}
print()函数经过验证是正确的,但是在二维数组输入过程出问题,不明白指针传递在那出问题了,烦劳诸位看看,非常感谢!
#define N 3
void Input(int (*m)[N],int n)
{
printf("please input the arrary:\n");
int *q ;
int (*p)[N];
for(p=m;p<m+n;p++)
{
for(q=*p;q<*p+N;q++)
scanf("%d",q);
}
}
void Print(int (*m)[N],int n)
{
int *q;
int (*p)[N];
clrscr();
for(p=m;p<m+n;p++)
{for(q=*p;q<*p+N;q++)
printf("%3d",*q);
printf("\n");
}
}
void main(void)
{
int a[2][3];
Input(a,2);
Print(a,2);
getch();
}
print()函数经过验证是正确的,但是在二维数组输入过程出问题,不明白指针传递在那出问题了,烦劳诸位看看,非常感谢!