我有以下用于生成对称矩阵的函数:
void genMatrix(int n, double A[n][n])
{
int i,j;
int count=0;
for (i=0; i<n; i++)
for (j=i+1; j<n; j++)
{
count++;
A[i][j]=count;
A[j][i]=count;
}
}
当我使用这些参数调用函数时:
int n = 10000;
double A[n][n];
genMatrix(n,A);
它给了我一个分段错误,我不明白为什么。我也尝试只用 1 个值填充矩阵,但它不会改变任何东西。可能是什么问题呢?对于较小的 n 值,例如 1000,它可以正常工作。