這個sum=sum+flag*i; flag=-flag;原理是什么? 老是搞不懂
??? for(i=1;i<=100;i++)
??? {
??????? sum=sum+flag*i;
??????? flag=-flag;
??????? i++;
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
??? for(i=1;i<=100;i++)
??? {
??????? sum=sum+flag*i;
??????? flag=-flag;
??????? i++;
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
2019-10-12
舉報
2020-03-01
你就把flag當做1來運算
需要負數時,把flag乘-1,flag就成了-1,把他與i相乘,i就成了負數
第二次乘-1時,flag就又變為+1
從而實現一正一負
2019-10-12
這有什么搞不懂,flag=-flag是循環體里的內容代表正負切換。如果flag初值為1則第一次循環為-1,第二次為+1
sum是求和,SUM=0,在第一次循環SUM=0+FLAG*I,改變的始終是flag*i,sum不過是記錄他改變過程的總變化