问答详情
源自:4-10 循环结构之三种循环比较

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

#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;    

}


提问者:慕村2300946 2019-02-24 20:59

个回答

  • 慕莱坞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值永远不满足跳出循环的条件)

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

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