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

为什么这三个的上下排列的顺序对结果没影响,++i和i++对结果也没影响

 sum+=i*flag;

        flag*=(-1);

        i++;


提问者:_LOGO_ 2018-06-12 15:55

个回答

  • qq_屠诽_04053364
    2018-06-13 15:24:35

    系统ubuntu,vscode不太会配置,只能手动分步执行了。。

    #include<iostream>

    using namespace std;

    int main()

    {

    int sum = 0;  //定义计算结果变量sum

    int i = 1;    //定义循环数字变量i

    int flag = 1; //定义符号状态变量flag

    while(i<=100)

    {

    i++;

    cout<<i<<endl; //用这个东西跟踪变量

    sum += i*flag;

    cout<<sum<<endl; //嗯,继续尾随

    flag *= -1;

    }

    cout<<sum;

    return 0;

    }

    你可以把 i++和++i往里面带,并试着更换位置,然后再看各变量的变化情况。

  • giszhu
    2018-06-12 22:01:35

    换成++i后就不能改变顺序了,因为先+1后赋值了