c语言中二维数组如何交换行?
发布网友
发布时间:2022-05-16 00:11
我来回答
共1个回答
热心网友
时间:2024-02-29 11:21
可以啊,给你写了个完整的程序,为了比较好理解,就把循环分开写了,实现就是这个意思,如果你想扩展的话可以用宏定义来实现。
#include <stdio.h>
void _swap(int p[4][4], int a, int b);
int main()
{
int a[4][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7}};
int j=0,i=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
_swap(a,1,4);
printf("\n\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
void _swap(int p[4][4], int a, int b)//交换二维数组(4*4)的a、b行
{
int aa[4];
int i;
for(i=0;i<4;i++)
aa[i]=p[a-1][i];
for(i=0;i<4;i++)
p[a-1][i]=p[b-1][i];
for(i=0;i<4;i++)
p[b-1][i]=aa[i];
}