while和do-while循環(huán)體中的i++寫在sum前面,那么在計(jì)算sum的時(shí)候i的值是1,為什么?i++后面有分號(hào)了呀,不是表示一個(gè)語(yǔ)句嗎。不應(yīng)該是i已經(jīng)加了一個(gè)1嗎?
#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==sum+i*flag;?
? ? ? ? flag *= -1;
? ? }
? ? printf("sum=%d\n",sum);?
? ??
? ? return 0; ? ?
}
2019-03-29
2019-03-27
首先你sum==sum+i*flag; 的時(shí)候用兩個(gè)等號(hào)是比較,賦值是一個(gè)等號(hào),其次i++,和++i,如果是sum=sum+(i++)那就是sum先加i,然后i在遞增,如果是i++,sum=sum+i的話,i已經(jīng)遞增了,所以是從2開始,如果不是在一個(gè)運(yùn)算里用到i++,和++i,而是在他們后面用的話都是已經(jīng)遞增了一個(gè),除非像上面sum=sum+(i++)一樣,這個(gè)就是先運(yùn)算在遞增。