输出的时候是不是应该也是外循环是行,内循环是列呢?
你现在输入的时候,外循环是行,内循环是列,显示的时候外循环是列,内循环是行,是不是因为这个原因?
别的没发现什么问题。
不知道是不是因为printf("%d ",a[j][i])这里最后多了一个空格的原因,改一下试试吧。
if(j<m-1) printf("%d ",a[j][i]);
else printf("%d",a[j][i]);
大哥,你不觉得你是你没有一一对应么?你这个程序输入时i对应的是m,也就是行,j对应列。到了输出的时候变成了i对应n,j对应m。我的意思很明白,转置矩阵没有错,但是也应该i对应m在内,j对应n在外。一楼说的很对,是你错了。