死循环--VS开发环境

时间:2022-11-27 14:55:23

首先,C语言分为静区、桟区、静态区,局部变量存放子内存中的桟区的

桟区使用:先使用高地址处空间,再使用低地址处空间

数组随下标的增长,地址是由低到高变化的

分析:i和arr为不同的两个局部变量,在桟上开辟了两段空间。根据桟使用的原则,所以i在高地址,arr在低地址。而数组内部,先使用低地址,再使用高地址。for循环中,数组越界。所以,循环最后一次改变了i的地址的值,i的值变成了0,故循环一直进行,成为死循环。


下面代码中i和arr数组中间一定是2个整形吗?

答案:NO,因为

i<=10  --VC6.0   --i和arr之间没有多余的空间

I<=11  --gcc      --i和arr之间有一个整型空间

代码如下:

死循环--VS开发环境

运行截图:

死循环--VS开发环境