-5
考虑下面的代码:为什么这个C++代码在运行时给我分段错误错误?
#include <iostream>
using namespace std;
int main()
{
const int max=500008;
long long cordx[max],cordy[max];
char type[max];
int n;
cin>>n;
for(int m=0;m<n;m++)
cin>>type[m]>>cordx[m]>>cordy[m];
return 0;
}
此代码是给我上运行时分段错误。
但是,当我改变了这样的代码:
for(m=0;m<n;m++)
cin>>cordx[m];
它不给我任何错误。
它给了我只有当我尝试输入类似这样的错误:
cin>>type[m]>>cordx[m]>>cordy[m];
也许阵列对于堆栈太大 –
尝试减小阵列的大小,问题是否仍然存在? – Sniper
写入'cordx'的区域可能全部都适合可用存储器,并且只有当程序正在写入下一个变量时,程序才会出现越界。 – user4581301