有以下代码:
printf("Введите размер первой матрицы. Если размер неизвестен, введите 0");
scanf ("%d", &n1);
if (n1)
{
scanf ("%d", &m1);
static int first_matrix[n1][m1];
}
else
{
static int first_matrix[100][100];
}
接下来,这个数组被写入:
for (i=0; i<n1; i++)
{
for (j=0; j<m1; j++)
scanf ("%d", &first_matrix[i][j]);
}
编译器抛出错误
错误:“first_matrix”未声明
因为 该数组分别在if内部声明,据我了解,当您退出if时,它就会消失。但是,我只是不知道如何以不同的方式进行操作,同时我不知道如何全局声明一个数组以使其不会消失。如果可以更改此代码,或者声明一个不会消失的数组,请说明如何。提前感谢您的回复。
或在堆栈上:
无需释放内存。