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