為什么使用while循環(huán)以前還要定義flag=1?我的for語(yǔ)句得出的結(jié)果為什么是-2550啊
#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)
??? {
??????? flag=1;
??????? if(i%2==0)
??????? {
??????????? flag=-1;???????
??????? }
??????? i++;
??????? sum+=flag*i;
??? }
??? printf("%d",sum);
}
???
??? //使用for循環(huán)
??? for(i=1;i<=100;i++)
??? {
??????? if(i%2==0)
??????? {
??????????? flag=-1;
??????????? sum+=i*flag;
??????? }
???????
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
2020-03-20
1、不定義的話沒有這個(gè)內(nèi)存地址和內(nèi)存單元中你所認(rèn)為flag的值
2、For循環(huán)里面你沒有規(guī)定i為奇數(shù)時(shí)的相加,即你只是將1~100之間的偶數(shù)相加了而已,故得-2550
第一次回答問題,若有錯(cuò)誤,請(qǐng)多包涵 ! ! !