gpt4 book ai didi

c - 二维阵列矩阵无法正确打印

转载 作者:行者123 更新时间:2023-11-30 19:47:23 25 4
gpt4 key购买 nike

矩阵打印不正确,谁能告诉我哪里出错了?

int i , j;
int n =0 , m =0;
int p =0 , q =0;
int matrix1[n][m];
int matrix2[p][q];

printf("ENTER THE NUMBER OF ROWS AND COLUMNS IN 1st MATRIX\n");
scanf ("%d%d",&n,&m);

for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
printf ("ENTER THE matrix1[%d][%d]: ",i,j);
scanf ("%d",&matrix1[i][j]);

}

我相信这就是问题所在。

      for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
printf ("%d ",matrix1[i][j]);

}
printf ("\n");
}

最佳答案

如果您希望内存存储仅在运行时知道大小的对象,我建议您根据需要分配它,使用以下代码

   int i, j;
int n, m;
int **matrix;

printf("ENTER THE NUMBER OF ROWS AND COLUMNS IN 1st MATRIX\n");
scanf ("%d%d",&n,&m);

matrix = malloc(sizeof(int *) * n);
if (!matrix) {/* no memory; handle it */}
for (i=0; i<n; i++)
matrix[i] = malloc(sizeof(int) * m);
for (j=0; j<m; j++)
{
printf ("ENTER THE matrix[%d][%d]: ",i,j);
scanf ("%d",&matrix[i][j]);

}

不要忘记释放你的内存

for (i = 0; i < n; i++)
free(matrix[i]);
free(matrix);

关于c - 二维阵列矩阵无法正确打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22029318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com