代码顺序问题

来源:4-10 循环结构之三种循环比较

慕村6484577

2020-08-14 19:41

为什么

sum+=i*flag;

      flag*=-1;

得到的是-50而

flag*=-1;

sum+=i*flag;

得到的结果是50.

写回答 关注

1回答

  • qq_呢喃不语_jquxAK
    2020-08-15 13:57:27
    已采纳

    如果你把flag*=-1;放到前面意味着首先把符号变成负号,即此时flag为-1,而不是1,;当第一个数取1,sum+=i*flag;得到的sum值为-1,然后再继续循环,就相当于把1-2+3-4.........,变成-1+2-3+4..........,也就是说把基数减偶数变成了偶数减奇数,所以结果就变相反的了


C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题