a[3][4] 是没法存放 a[4][3]的数据的,必须重新用一个变量。void trans(int a[4][3]) 这儿是4*3 的,
trans(a); 这儿是3*4的编译都会报错的,参数类型不对。
#include
#include
#include
void main()
{
void trans(int a[3][4], int b[4][3]);
int a[3][4];
int b[4][3];
int i, j;
srand(time(NULL));
for (i = 0; i < 3; i++)
for (j = 0; j < 4; j++)
a[i][j] = rand() % 100;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
printf("%4d", a[i][j]);
printf("\n");
}
trans(a,b);
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
printf("%4d", b[i][j]);
printf("\n");
}
}
void trans(int a[3][4], int b[4][3])
{
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
b[j][i] = a[i][j];
}
}