SIGSEGV在一个简单的程序中
SIGSEGV in a simple program
我有这个代码
typedef long long int ll;
#define MOD 1000000007
ll t,n,total,answer[2][1025];
int arr[100001];
cin>>n;
for(int i=0;i<n;i++)
cin>>arr[i];
memset(answer,0,sizeof(answer));
memset(arr,0,sizeof(arr[0]*n));
for(int i=1; i<n; i++)
{
for(int j=0; j<=1024; j++)
{
int index1=(i-1)%2;
int index2=j^arr[i];
ll pre1=answer[index1][j]%MOD;
ll pre2=answer[index1][index2]%MOD;
answer[(i%2)][j]=(pre1+pre2)%MOD;
}
}
我不知道为什么这个代码给出RE(SIGSEGV)。有人能帮忙吗?
您需要检查n
的有效性,否则用户可能会立即崩溃您的程序。一旦n
(从而i
)超出界限,您将寻址不属于程序的内存。
相关文章:
- GDB 8.1 无法在单线程简单程序中跟踪 std::string 变量的值
- 令牌之前的简单程序预期标识符'('
- 带有类和链表的简单C++程序
- 引发未经处理的异常:简单 C++ 程序中的读取访问冲突,动态增加数组长度以存储数字
- C++链表简单程序崩溃
- 简单程序中的意外推力错误
- 未经GCC优化而编译的简单C++程序不会产生预期的结果
- 运行简单 c++ 程序时出现权限被拒绝错误
- 为什么我的简单C++程序使用队列和 fstream 错误到无效指针
- QT创建者:简单程序未解决的外部符号和外部符号错误
- 在VS2017上调试简单程序时访问冲突(RtlActivateActivationContextUnsafeFast)
- 无法为简单程序运行 docker 容器
- 布尔程序返回错误,即使应该是正确的.简单程序
- C++:帮助解释简单程序的行为
- 在使用小数的简单c++程序中遇到问题
- 简单程序的输入/输出问题
- 我在C中简单程序中的内存故障
- 简单程序没有输出和崩溃.我的解决方案有什么问题
- 简单C++程序上的多个未声明标识符
- C++,Visual Studio 2012和错误4700,用于简单程序中的类变量