#include<stdio.h>
int main()
{
int n,m,i,j;
int a[2000][2000],b[2000][2000];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
}
printf("\n");
printf("%d %d",m,n);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d",b[i][j]);
}
printf("\n");
}
return 0;
}
你数组开的太大了,实际需要这么大的数组么?
尝试改为a[200][200]
int数组申请的空间太大,申请不出来,程序直接崩溃退出了
a[1000][1000]是可以的,2000太大。
非得这么大的话,只能动态分配空间了
int **a = (in**)malloc(2000*sizeof(int*));
for(int i=0;i<2000;i++)
a[i] = (int*)malloc(2000*sizeof(int));