问答详情
源自:4-10 循环结构之三种循环比较

求大神解救

while语句里面的i++可以和sum+=i*flag换位置吗

提问者:Coin4268119 2016-11-29 09:12

个回答

  • 小猪鼻子
    2017-01-04 08:50:43

    不行,算sum的时候i的值不同了

  • 慕后端3326841
    2016-11-29 18:04:43

    while和do-while循环应该把sum+=i*flag 在前,i++在后,才符合题目要求的1-2+3-1...-100的值。

    而i++在前,sum+=i*flag在后的话,其实是在算2-3+4-5..-101的值。

    所以,虽然两种运算结果都是-50,但是运算的内容是不同的,需要注意。


  • SSsam_3116003809
    2016-11-29 10:41:50

    i++;            

    sum+=i*flag;

    //这里先让i+1,再执行sum

    sum+=i*flag;

    i++;

    //这里先算sum,再让i+1

    //具体怎么用看题目要求了