你先按你的想法改了,再测试测试看。然后再想想看。
结果是一样的,但是本质是不一样的,我的想法只是改变了表面输出,而没有从根本上的储存上没有解决问题,我是这样想的,你说呢?
@西戈wzc:
你实验的代码长什么样,又是如何确定结果一样的
@窗户: #include<stdio.h>
int main(){
int i,j,n,temp;
int a[10][10];
printf("Enter n=");
scanf("%d",&n);
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
a[i][j]=i*n+j+1;
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++){
if(i<=j){
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
}
for(i=0;i<=n-1;i++){
for(j=0;j<=n-1;j++)
printf("%4d",a[j][i]);
printf("\n");
}
return 0;
}
这是原代码,我改成了
@西戈wzc: 哦,你只是对一个特殊的阵重新整体赋值。而原程序的代码实际上是实现方阵转置。问题只有在特定的语意才有意义
@窗户: 就是,按照我的想法这样改,在大程序中就会容易出错,而这样一个简单的程序中勉强可以
没看到"那么多篇幅"啊
什么意思?你说的我没有懂