内存操作异常
- 数组越界访问:访问超出数组硬件支持范围的索引。
- 非法内存操作:如指针错误或非法地址读写。
数学运算异常
- 除零运算:整数或浮点数除法时除数为零。
- 数值溢出:数值超出变量类型最大/最小表示范围。
逻辑错误
- 栈溢出:递归调用过深或局部变量分配过大。
数组开得过小,没有覆盖数据范围。常见的有:
- 无向图存边的数组要开 2 倍。
- 线段树存节点的数组要开 4 倍。
- 字典树存节点和结束标记的数组要开到所有字符串的总长。
- 访问非法下标导致数组或 STL 越界。访问 STL 前记得判断一下它是否为空。
- 出现除以 0,或对 0取模。
- 静态数组开得过大,超出空间限制会 RE。
- 递归层数过多导致递归爆栈,会 RE。
- 非
void函数没有返回值。 - 有文件 IO 的题目没有写
freopen会 RE。 scanf没有加取地址符&。scanf前面的格式符与后面的变量数量不符,例如:scanf("%d",&x,&y)、scanf("%d%d%d",&x,&y)。
9230

被折叠的 条评论
为什么被折叠?



