慕UI2492741
2022-08-11 15:18
int sum = 0;
int i = 1;
int flag = 1;
for(i=1;i<=100;i++)
{
flag*=-1;
sum+=i*flag;
}
printf("sum=%d\n",sum);
不是少了一个i++,是最后少了一个}
少了一个 i++
将两执行命令块顺序换一换
执行命令块的循序反了,你这样是让flag先为-1进行下去,出来的顺序是-1+2-......+100,
因为先对flag进行了符号的转变,所以不是1-2+3-4.....,而是-1+2-3+4......,结果就会反过来是+50
C语言入门
926207 学习 · 20797 问题
相似问题