遇到一个简单的小问题,怎样也想不通,求解答 !
今天编程时遇到的类似问题,程序首先动态分配一个数组,然后调用一段递归程序,最后delete 的时候出错了,程序在这里"停"住了,像是无限循环一样,有没有大神知道这是为什么啊,谢过了!
[解决办法]
越界。 第一次(从main里直接)调用A时第二个参数的值为10,导致在A里第一行代码实际执行了 arr[10] = 10 的操作。而arr只有10个元素,有效索引从0到9,索引10越界了。 这将有可能触发一些编译器或调试器的越界检查机制从而导致异常;也可能覆盖掉其它有效内容从而导致程序异常。