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

位置对调出现的情况

两种情况

    for(i=1;i<=100;i++)

    {

        sum+=i*flag;

        flag*=(-1);      

    }  

结果是-50,当sum和flag的位置对调的时候,结果又变成了50,怎么会发生这种事?


正在回答

1 回答

这个你要考虑到执行顺序的问题,如果你是把flag放在sum的前面的话,那么第一次循环flag就等于-1,那么sum+=1*-1还是等于-1也就是说所有的偶数都是正数而所有的奇数都是负数,所以结果为50。

在题目中是所有的偶数为负数,所有的奇数为正数,所以你的结果是不对的

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

少年duck的烦恼 提问者

非常感谢!
2015-02-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

位置对调出现的情况

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