1

栈空间

因此

#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");
}

将会陷入死循环

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


阳光号
129 声望5 粉丝