将一个二维数组行和列的元素互换,存到另一个二维数组里面

以下是这个问题的答案,烦请高手讲解一下:
#include <stdio.h>
void main ( )
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf ("array a:\n");
for (i=0;i<=1;i++)//这个for 循环代表什么?为什么是i=0;i<=1 ?
{
for (j=0;j<=2;j++)//这个又是什么意思?为什么是j<=2 ?
{
printf ("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf ("\n");
}
printf ("array b:\n");
for (i=0;i<=2;i++)//这个循环又是什么?
{
for (j=0;j<=1;j++)//这个循环又是什么?
printf ("%5d",b[i][j]);
printf ("\n");
}
}

#include <stdio.h>
void main ( )
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf ("array a:\n");
//下面的两层循环是实现行列互换
for (i=0;i<=1;i++)//i取值为0,1对应数组a的行(数组是从0开始算的)
{
for (j=0;j<=2;j++)//j取值0,1,2对应数组a的列
{
printf ("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf ("\n");
}
printf ("array b:\n");
//打印互换后的数组
for (i=0;i<=2;i++)//i取值为0,1,2对应数组b的行
{
for (j=0;j<=1;j++)//j取值0,1 对应数组b的列
printf ("%5d",b[i][j]);
printf ("\n");
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-03
for (i=0;i<=1;i++)//这个for 循环代表什么?为什么是i=0;i<=1 ?
{
for (j=0;j<=2;j++)//这个又是什么意思?为什么是j<=2 ?
i控制a中的行b中的列 j控制a中的列b中的行
要联系a,b的行列来思考
后面的循环就是基本的二维数组输出的基本循环方法
第2个回答  推荐于2016-08-26
a[2][3]
第一个for,a有2行,0,1
第二个for,a有3列,0,1,2
b[3][2]
第3个for,b有3行,0,1,2
第4个for,b有2列,0,1本回答被提问者采纳
相似回答