关于FOR循环变量i的问题

C语言 码拜 9年前 (2016-04-05) 1027次浏览
#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]);
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于FOR循环变量i的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)