
c语言用函数将数组调换行和列
书上写的是#include"stdio.h"voidexchange(intx[][4]){inti,j,temp;for(i=0;i<4;i++)for(j=i+1;j...
书上写的是#include"stdio.h"
void exchange ( int x[][4])
{
int i,j,temp;
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{temp=x[i][j];
x[i][j]=x[j][i];
x[j][i]=temp;
}
}
main()
{int a[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("a is:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%4d",a[i][j]);
printf("\n");
}
exchange(a);
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");}}
但是我不明白在自定义函数的时候 为什么不直接就x[j][i]=x[i][j] 展开
void exchange ( int x[][4])
{
int i,j,temp;
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
{temp=x[i][j];
x[i][j]=x[j][i];
x[j][i]=temp;
}
}
main()
{int a[4][4];
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf("a is:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%4d",a[i][j]);
printf("\n");
}
exchange(a);
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");}}
但是我不明白在自定义函数的时候 为什么不直接就x[j][i]=x[i][j] 展开
2个回答
展开全部
如果直接就x[j][i]=x[i][j],这个x[j][i]数据会被冲掉,下次运行到j,i的时候这个数据没法取出来换了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询