我尝试运行这个简单的矩阵乘法代码来测试限制&令人惊讶的是,我发现在Windows上,它最多只能运行100x100矩阵,而在Linux上运行时最高可达590x590。每次我在Windows上执行文件时都会说“#34;程序停止工作......"”。我想知道为什么会发生这种情况。如果这个代码可以在Windows上运行那么...
#include<string.h>
#include<stdio.h>
int main(void)
{
int i,j,k;double sum,x=0;
double matrix1[590][590];
double matrix2[590][590];
double matresult[590][590];
for(i=0;i<590;i++)
{
for(j=0;j<590;j++)
{
matrix1[i][j]=x++;
matrix2[i][j]=x++;
}
}
for(i=0;i<590;i++)
{
for(j=0;j<590;j++)
{
sum=0;
for (k=0;k<590;k++)
{
sum = sum +matrix1[i][k]*matrix2[k][j];
}
matresult[i][j] = sum;
}
}
for(i=0;i<590;i++)
{
for(j=0;j<590;j++)
{
printf("%f\t",matresult[i][j]);
}
printf("\n");
}
// getch();
return 0;
}