慕村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;
}
不该在循环里对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值永远不满足跳出循环的条件)
i=i*flag使循环变成了死循环
C语言入门
926019 学习 · 20793 问题
相似问题