1、中间变量溢出,影响到后续语句的执行。
2、数组下标越界,写入了数组之后的内存地址,导致部分奇异的破坏。
3、自定义函数跳过不执行,可能与函数名和内置的函数名重合且参数类型相同导致编译器无法判断重载哪个函数有关。
4、IDE 出错或编译出错但未予提示,重启 IDE 或重新编译,也可以将不执行的语句及其相关联的语句修改为等效的语句后重新编译,或修改为其它语句重新编译第一次,再修改回原语句重新编译第二次。
5、指针或迭代器出错,可能是产生了野指针或者编程时写错。
如果你是在做算法竞赛的题目,应当尽量少用指针或迭代器,特别是指针,因为一旦写错,查错往往要耗费巨量的时间。
对于以上情况,大多数时候由于语句合法(无语法错误),IDE 都不会给出错误提示。所以对于这些问题引起的部分语句直接跳过,只能通过打印中间变量和单步执行来判定问题所在。