主题:C++ 定义数组必须前面加static才能正确运行
C++ 定义数组必须前面加static才能正确运行,否则会出现运行错误,各位大神求解释
下面是代码是不能正确运行的:
#include<iostream>
using namespace std;
int main()
{
int a[100000][4000],i,j;
for(i=0;i<99999;i++)
for(j=0;j<3999;j++)
a[i][j]=i+j;
for(i=0;i<99999;i++)
for(j=0;j<3999;j++)
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<endl;
getchar();
return 0;
}
下面的是能运行的:
#include<iostream>
using namespace std;
int main()
{
static int a[100000][4000],i,j;
for(i=0;i<99999;i++)
for(j=0;j<3999;j++)
a[i][j]=i+j;
for(i=0;i<99999;i++)
for(j=0;j<3999;j++)
cout<<"a["<<i<<"]"<<"["<<j<<"]"<<endl;
getchar();
return 0;
}