回 帖 发 新 帖 刷新版面

主题:二维数组指针传递问题

#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()函数经过验证是正确的,但是在二维数组输入过程出问题,不明白指针传递在那出问题了,烦劳诸位看看,非常感谢!

回复列表 (共2个回复)

沙发

dev c++编译代码运行无错
不知道你说的输入过程出问题是怎么导致的,难道是输入过程中混入字符了?

板凳

我的是TC环境,下午在vc环境中去掉clrscr()也没问题,可能是编译器的问题,多谢回复。

我来回复

您尚未登录,请登录后再回复。点此登录或注册