求问大佬这个C语言矩阵转置错在哪了

#include <stdio.h>#include <stdlib.h>#include<math.h>int main(){ int n,m,i,j; scanf("%d %d\n",&n,&m); int a[n][m]; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) {scanf("%d ",&a[i][j]);} scanf("\n"); } int b[m][n]; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { b[j][i]=a[i][j]; } } for(i=1;i<=m;i++) { for(j=1;j<=n;j++) {printf("%d ",b[i][j]);} printf("\n"); } return 0;}