因此
#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)
而使循环永远无法结束。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。