前言:
我们都知道有时候循环使用的不太恰当,就会导致死循环,但是一般这是针对while循环,而一般for循环定义的时候有严格的限定条件,不会轻易的死循环。但是今天我们就是针对for循环访问数组导致死循环问题进行探讨!
让我们先看代码:
#include <stdio.h>
int main()
{
int i = 0;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i <= 12; i++)
{
arr[i] = 0;
printf("rzjrzj\n");
}
return 0;
}
他的执行结果会无限的执行下去,为什么会出现这样的状况呢,按照常理说我们这个属于越界访问,应该报错,就算是不报错,最多递归13次也应该停下了,为什么会一直死循环?

让我们通过调试来找一下问题的所在


最低0.47元/天 解锁文章
887





