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

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

 sum+=i*flag;

        flag*=(-1);

        i++;


正在回答

2 回答

系统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往里面带,并试着更换位置,然后再看各变量的变化情况。

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

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

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

qq_屠诽_04053364

你分步跑一下代码会发现跟i++||++i的知识点没关系,把++i放到最后或者开头都能恰巧算出“答案”
2018-06-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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