这是我的代码:
int main(){
int n = 0;
std::cin>>n;
int lh[n][2];
for(int i = 0; i < n; i++) {
std::cin>>lh[i][0]>>lh[i][1];
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,如果n非常小,它运行正常,但是当n更大,比如10,000,000时,就会发现segmentfault 11错误.
这里发生了什么 ?
首先,这不是有效的C++.
std::cin>>n;
int lh[n][2];
Run Code Online (Sandbox Code Playgroud)
n应该是编译时常量.
其次,正如已经指出的那样,你正在为大n使用太多内存
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |