i++的位置影響結(jié)果
?while(i<=100)
? ? {
? ? ? if(i%2==1)
? ? ? ? {
? ? ? ? ? ? sum=sum+i;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? sum=sum-i;
? ? ? ? }
? ? ? ? ? i++;
? ? }
這里的i++放在if else 語(yǔ)句前后所得到的結(jié)果是正負(fù)相反的,這是為什么啊,求教??!
?while(i<=100)
? ? {
? ? ? if(i%2==1)
? ? ? ? {
? ? ? ? ? ? sum=sum+i;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? sum=sum-i;
? ? ? ? }
? ? ? ? ? i++;
? ? }
這里的i++放在if else 語(yǔ)句前后所得到的結(jié)果是正負(fù)相反的,這是為什么啊,求教??!
2015-07-28
舉報(bào)
2015-07-28
假設(shè)在while前是 int i = 1; 那么就是0+1-2+。。。+99-100 = -50;如果你把i++放在if前面,那么就是0-2+3-...-98+99-100+101 = 50
2015-07-28
可以用這代碼測(cè)試:
?#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;
?}