順序問(wèn)題,flag=flag*-1不能放在sum+=i*flag前,否則結(jié)果不同,解釋一下好么
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
? ? int sum = 0; ?//定義計(jì)算結(jié)果變量sum
? ? int i = 1; ? ?//定義循環(huán)數(shù)字變量i
? ? int flag = 1; //定義符號(hào)狀態(tài)變量flag
? ??
? ? //使用while循環(huán)
? ? while(i<=100)
? ? {
? ? ? ? i++;
? ? ? ? sum+=i*flag;
? ? ? ? flag*=-1;//此句在上一句前面和后面效果不一樣,不懂
? ? } ??
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0;?
}
2018-04-04
sum+=i*flag等同于sum=sum+i*flag,若flag放在前面的話sum=sum-i*flag;而flag放在后面結(jié)果會(huì)是sum=sum+i*flag.