把4×5的二维数组的第m行与第n行互换,其中m和n由键盘输入(要求利用指针实现)

用程序写出来

#include<stdio.h>
int main() 
{int m,n,i,j,t,*p,*q,a[4][5];
 for(i=0;i<4;i++)
 {for(j=0;j<5;j++)
  {a[i][j]=++t;
   printf("%3d",a[i][j]);
  }
  printf("\n"); 
 }
 printf("m n=");
 scanf("%d%d",&m,&n);
 if(m<0||m>3||n<0||n>4)
 {printf("Error!\n");
  return 0;
 }
 p=&a[m][0]; q=&a[n][0];
 for(i=0;i<5;i++)
 {t=*p; *p++=*q; *q++=t;}
 for(i=0;i<4;i++)
 {for(j=0;j<5;j++)
   printf("%3d",a[i][j]);
  printf("\n"); 
 }
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答