这段函数看不懂啊

来源:百度知道 编辑:UC知道 时间:2024/06/04 09:21:59
void zh(int a[][3])
{
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++) /* 为什么i+1 */
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}

解析一下
这是 使一个二维数组(3*3)专置,即行列互换的

t=a[0][1];
a[0][1]=a[1][0];
a[1][0]=t;

t=a[1][2];
a[1][2]=a[2][1];
a[1][0]=t;

t=a[2][3];
a[2][3]=a[3][2];
a[3][2]=t;

这段代码的作用就是进行数据交换啊

太复杂了吧

j没必要等于i,因为等于的话没必要交换。提高效率。