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

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

_LOGO_

2018-06-12 15:55

 sum+=i*flag;

        flag*=(-1);

        i++;


写回答 关注

2回答

  • 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后赋值了

    qq_屠诽_...

    你分步跑一下代码会发现跟i++||++i的知识点没关系,把++i放到最后或者开头都能恰巧算出“答案”

    2018-06-13 15:21:35

    共 1 条回复 >

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题