#include <stdio.h> #define SIZE 10 int main(void) { int i = 0; int array[SIZE]; for(;i < SIZE;++i) array[i] = i; for(;i < SIZE;++i) printf("array[%d] = %d\n",i,array[i]); }
以上两个for循环,运行后,没有输出结果。
#include <stdio.h> #define SIZE 10 int main(void) { int i = 0; int array[SIZE]; for(i=0;i < SIZE;++i) array[i] = i; for(i=0;i < SIZE;++i) printf("array[%d] = %d\n",i,array[i]); }
假如在两个for循环中加上 循环变量i的初始化,就有结果了。不理解为什么,本人已经在外面定义并且初始化了循环变量i 了。
解决方案
20
#include <stdio.h> #define SIZE 10 int main(void) { int i = 0; int array[SIZE]; for(;i < SIZE;++i) array[i] = i; for(;i < SIZE;++i) // 此时,i=SIZE,也就没有进入循环体 printf("array[%d] = %d\n",i,array[i]); }