main()
{
void enter(int ar[],int n,int m);
void print(int ar[],int n,int m);
int a[20][20]={0},n,m,i,j;
printf("enter the N and M:");
scanf("%d%d",&n,&m);
enter(a[0],n,m);
printf("\n");
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
print(a[0],n,m);
}
void enter(int ar[],int n,int m)
{
int i,j;
for(i=0;i<n*m;i++)
scanf("%d",&ar[i]);
}
void print(int ar[],int n,int m)
{ int i,j;
for(i=0;i<n*m;i++)
{ printf("%3d",ar[i]);
if((i+1)%m==0)
printf("\n");
}
}
就是发现个问题~! 在形参数组中输入数值,在主函数中的实参数组 只能输出第一行的数值后面的都还是初始值。
以上程序,无论N和M是多少,只能打印出第一行的数,其余行还是初始值零呢??请高人解答。
{
void enter(int ar[],int n,int m);
void print(int ar[],int n,int m);
int a[20][20]={0},n,m,i,j;
printf("enter the N and M:");
scanf("%d%d",&n,&m);
enter(a[0],n,m);
printf("\n");
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
print(a[0],n,m);
}
void enter(int ar[],int n,int m)
{
int i,j;
for(i=0;i<n*m;i++)
scanf("%d",&ar[i]);
}
void print(int ar[],int n,int m)
{ int i,j;
for(i=0;i<n*m;i++)
{ printf("%3d",ar[i]);
if((i+1)%m==0)
printf("\n");
}
}
就是发现个问题~! 在形参数组中输入数值,在主函数中的实参数组 只能输出第一行的数值后面的都还是初始值。
以上程序,无论N和M是多少,只能打印出第一行的数,其余行还是初始值零呢??请高人解答。