机缘
写一个矩阵转置的代码用到了数组
收获
了解到输入数组的大小要在数组前面而不能先定义数组然后再输入
举例
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d ",&a,&b);
int arr[a][b];
for(int i = 0;i < a;i++)
{
for(int j = 0;j < b;j++)
{
scanf("%d ",&arr[i][j]);
}
}
for(int i = 0;i < b;i++)
{
for(int j = 0;j < a;j++)
{
printf("%d ",arr[j][i]);
}
printf("\n");
}
return 0;
}
上面的scanf只能在定义数组之前出现而不能像下面一样
#include <stdio.h>
int main()
{
int a, b;
int arr[a][b];
scanf("%d %d ",&a,&b);
for(int i = 0;i < a;i++)
{
for(int j = 0;j < b;j++)
{
scanf("%d ",&arr[i][j]);
}
}
for(int i = 0;i < b;i++)
{
for(int j = 0;j < a;j++)
{
printf("%d ",arr[j][i]);
}
printf("\n");
}
return 0;
}
成就
对数组的了解更深了