void main()
{
int a[
2][
3],b[
3][
2];
int i,j;
for(i=
0;i<
2;i++)
{
for(j=
0;j<
3;j++)
{
printf(
"a[%d][%d]=",i,j);
scanf(
"%d",&a[i][j]);
}
}
printf(
"输出二维数组:\n");
for(i=
0;i<
2;i++)
{
for(j=
0;j<
3;j++)
{
printf(
"%d\t",a[i][j]);
}
printf(
"\n");
}
for(i=
0;i<
2;i++)
{
for(j=
0;j<
3;j++)
{
b[j][i]=a[i][j];
//这是关键的一步,我的理解是将a[i]覆盖b[j],a[j]覆盖b[i],达到交换行和列的目的
}
}
printf(
"打印交换后的数组:\n");
for(i=
0;i<
3;i++)
{
for(j=
0;j<
2;j++)
{
printf(
"%d\t",b[i][j]);
}
printf(
"\n");
}
}