關于4.10答案中while和i++
4.10答案中,while體中語句是這樣:
while (i<=100)?{?
i++; ? ? ? ? ? ? ? ? ? ? ? //這里i=2了????
sum=sum+i*flag; ?//那么這里的i=????
flag=(-1)*flag;}
請問一進入循環體 i++ 就是i=i+1,,那不是等于2了?這樣第一次循環就是從2開始加的?。坎皇菑?開始了,而且flag=(-1)*flag,再次進入就是-3了?
4.10答案中,while體中語句是這樣:
while (i<=100)?{?
i++; ? ? ? ? ? ? ? ? ? ? ? //這里i=2了????
sum=sum+i*flag; ?//那么這里的i=????
flag=(-1)*flag;}
請問一進入循環體 i++ 就是i=i+1,,那不是等于2了?這樣第一次循環就是從2開始加的?。坎皇菑?開始了,而且flag=(-1)*flag,再次進入就是-3了?
2016-08-09
舉報
2016-08-10
你不明白的地方在4.8中
在第四章第八課,左側流程示意圖中。
我知道你問的是 while 循環,你把 for 弄明白了就明白這個了。
for(i=1;i<=100;i++)
表達式一。i=1 ?給 i 一個初值 1 。
表達式二。i<=100 . ?判斷語句,是否滿足結束條件。
表達式三。 i ++ ? ?,每次循環 i 的變量。
判斷表達式一是否滿足表達式二,成立執行代碼塊,再改變變量?i 的值,再用表達式二進行判斷。
2016-08-09
在cfree中運行雖然是一樣的,如果把i++移動到下邊。但是用調試模式仔細觀察,如問題中寫法,第一次sum=2。
而如果i++寫在flag*=-1*flag下邊,第一次sum=1?求指教?