为了账号安全,请及时绑定邮箱和手机立即绑定

循环范围不知道怎么弄

#include<stdio.h>
int main()
{
int i=1,sum=0;
for(i=1;i<=100;i++)//循环1-2+3-4+5....-100;
{
if(i%2==0)
{ sum+=(-i);
}else
{ sum+=i;
}
i++;
}
printf("%d/n",sum);
return 0;
}
此时计算的结果是2500,只有把{}从i++哪里删去才能得到-50的结果 为什么 ?

正在回答

1 回答

因为if()
 a=1;
 b=2;
那么,if里面只执行a=2;这个句子;

如果是
if()
{
 a=1;
 b=2;
}
那么,if中间执行了a=2,b=3;两句。你这个else也相当于if()。

0 回复 有任何疑惑可以回复我~
#1

qq_即使自己一个人奋斗_03598376 提问者

问题不是出现在for的循环里面吗? 我的意思是i++在有没有{}括起来的情况,我的理解是需要让i++跟着整个循环,每循环一次,i就要+1,但是事实是不要把i++括起来了 ,这个地方不理解
2016-07-05 回复 有任何疑惑可以回复我~
#2

慕粉3575624 回复 qq_即使自己一个人奋斗_03598376 提问者

整体当然不会每次都执行,只有在它被框起来的那个条件下才会啊。
2016-07-06 回复 有任何疑惑可以回复我~
#3

qq_即使自己一个人奋斗_03598376 提问者

非常感谢!
2016-07-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

循环范围不知道怎么弄

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信