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

不出结果,哪里错了

不出结果,哪里错了

C
_dvure 2017-08-17 17:07:25
#include<stdio.h>int main(){ int i,sum;sum=0;for(i=1;i<=100;i++) { if(i%2==0) { i*=(-1); } sum=sum+i; } printf("%d\n",sum); return 0;}
查看完整描述

5 回答

已采纳
?
凌小天3635910

TA贡献17条经验 获得超13个赞

for循环中第一循环 i=1,sum=1。循环体外i自增1。

第二次循环i=2, 满足if条件, i=-2 ,sum=-1。循环体外i自增1。

第三次循环i=-1,sum=-2。循环体外i自增1。

第四次循环i=0,满足if条件,i=0,sum=-2。循环体外i自增1。

第五次循环i=1 。与第一次相同。无限重复。

查看完整回答
反对 回复 2017-08-17
?
遥不可及不放弃

TA贡献15条经验 获得超5个赞

循环里面改变了i的值,变为负数了,循环退出不了

查看完整回答
1 反对 回复 2017-08-17
?
慕仙0216131

TA贡献1条经验 获得超0个赞

确实这个变量i有问题

查看完整回答
反对 回复 2017-08-18
?
枫枫哒

TA贡献11条经验 获得超8个赞

i++与i*-1操作中数值有对消,使i始终在-2~2范围变动

查看完整回答
反对 回复 2017-08-17
?
我是新手_请多指教

TA贡献140条经验 获得超79个赞

确实这个变量i有问题

查看完整回答
反对 回复 2017-08-17
  • 5 回答
  • 0 关注
  • 2253 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信