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

i++的位置影响结果

 while(i<=100)

    {

      if(i%2==1)

        {

            sum=sum+i;

        }

        else

        {

            sum=sum-i;

        }

          i++;

    }

这里的i++放在if else 语句前后所得到的结果是正负相反的,这是为什么啊,求教啊!

正在回答

2 回答

假设在while前是 int i = 1; 那么就是0+1-2+。。。+99-100 = -50;如果你把i++放在if前面,那么就是0-2+3-...-98+99-100+101 = 50

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

zjwzzdj 提问者

非常感谢!
2015-07-28 回复 有任何疑惑可以回复我~

可以用这代码测试:

 #include<iostream>

 using namespace std;

 int main()

 {

 int sum = 0;

 int i = 1;

  while(i<=100)

    {

      i++;

      if(i%2==1)

        {

            sum=sum+i;

            cout<<"+"<<i;

        }

        else

        {

            sum=sum-i;

              cout<<"-"<<i;

        }


    }

    cout<<endl<<sum;

    return 0;


 }


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

举报

0/150
提交
取消

i++的位置影响结果

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