为什么要重新定义i=1

来源:4-10 循环结构之三种循环比较

慕侠0287476

2017-04-30 16:52

#include <stdio.h>

int main()

{

/* 小伙伴们:

       选择你们认为最合理的循环结构完成功能吧 */

int sum = 0;  //定义计算结果变量sum

int i = 1;    //定义循环数字变量i

int flag = 1; //定义符号状态变量flag


//使用while循环

while(i<=100)

{

    i++;

    

}


i = 1;  //重新初始化变量i


//do-while循环

do{

    i++;

    sum+=i*flag;

    flag=flag*(-1);

    

}while(i<=100);


i = 1;  //重新初始化变量i


//使用for循环

for(i=1;i<=100;i++)

{

   sum+=i*flag;

   flag*=(-1);

}  

printf("sum=%d\n",sum); 


return 0;    

}


写回答 关注

1回答

  • 0长夜
    2017-04-30 19:39:05

    如果你选择完成的循环结构是第二个的话,i的值在经过第一个循环结构的时候因为满足i<=100这个条件所以会执行第一个循环结构也就是i++,当i到达第二个循环结构的时候值已经变成100了,所以要先重新定义i的值。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题