C语言的栈

栈空间

所以spa

#define ARRAY_SIZE 10
#include <stdio.h>
void main() {
       int i =1; 
       int array[ARRAY_SIZE];
        
    while (i <= ARRAY_SIZE)  {
        array[i] = i - 1;
        i = i + 1;
    }
    printf("completed!\n");
}

将会陷入死循环code

这是因为i先于array定义,致使array[10]越界时会访问到i的空间
从而通过array[10]=10-1致使i=9(由于array[10]越界越到了i)
而使循环永远没法结束。blog

相关文章
相关标签/搜索