while和do-while循環體中的i++寫在sum前面,那么在計算sum的時候i的值是1,為什么?i++后面有分號了呀,不是表示一個語句嗎。不應該是i已經加了一個1嗎?
#include <stdio.h>
int main()
{
? ? /* 小伙伴們:
? ? ? ? ? ?選擇你們認為最合理的循環結構完成功能吧 */
? ? int sum = 0; ?//定義計算結果變量sum
? ? int i = 1; ? ?//定義循環數字變量i
? ? int flag = 1; //定義符號狀態變量flag
? ??
? ? //使用while循環
? ? 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; 的時候用兩個等號是比較,賦值是一個等號,其次i++,和++i,如果是sum=sum+(i++)那就是sum先加i,然后i在遞增,如果是i++,sum=sum+i的話,i已經遞增了,所以是從2開始,如果不是在一個運算里用到i++,和++i,而是在他們后面用的話都是已經遞增了一個,除非像上面sum=sum+(i++)一樣,這個就是先運算在遞增。