C语言关于循环的疑惑,很急!
看下面这个程序:这个程序时我辅导书上的一题,我在turbo上运行过,没问题,但我觉得其中有个地方错了
这个程序是矩阵的转置矩阵,程序如下,程序中我有一个不明白的问题
main()
{int i,j,t,a[4][4]={35,73,65,50,33,47,66,28,42,19,25,60,30,72,54,26};
printf("The original matrex is:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<4;i++)
for(j=0;j<i;j++) 这个地方为什么是j<i啊,这里i是0啊,难道0<0?我认为这里应该是j<4而不是j<i
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
printf("The transfer matrix is:\n");
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
运行结果是35 73 65 50 变为35 33 42 42
33 47 66 28 73 47 19 19
42 19 25 60 65 66 25 25
42 19 25 60 50 28 60 60
高手帮忙解决一下