所以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