为什么提交显示提交中没有反应,是哪里出错了吗?

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

慕村2300946

2019-02-24 20:59

#include <stdio.h>

int main()

{

    

    int sum = 0;  

    int i = 1;    

    int flag= 1; 

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

    {

     i=i*flag;

     sum=sum+i;

     flag=-flag;

    }  

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

    

    return 0;    

}


写回答 关注

2回答

  • 慕莱坞6193952
    2019-02-24 21:46:02
    已采纳

    不该在循环里对i赋值 造成了死循环

    第一次:i=1,i=1,flag= -1

    第二次:i=2,i=2*(-1)=-2 , flag= 1

    第三次:i=-2+1=1,i=1*1=1,flag=-1(与第一步相同,开始死循环,i值永远不满足跳出循环的条件)

    慕村2300...

    谢谢。

    2019-04-13 20:20:15

    共 1 条回复 >

  • 慕神4451554
    2019-02-24 22:13:24

    i=i*flag使循环变成了死循环

C语言入门

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

926206 学习 · 20797 问题

查看课程

相似问题