3 回答

TA貢獻3條經(jīng)驗 獲得超4個贊
1、for循環(huán)里面的:for(int a=0;a<=10;a++)//a從0到10,沒問題吧?記住for里面的a++,都是在循環(huán)體邏輯執(zhí)行完之后才進行執(zhí)行
2、while循環(huán)里面的:int a = 0;while(a<10)//a從0到9,沒問題吧?
但是,while里面第一句:a++;注意這個在循環(huán)體邏輯的第一句,相當于直接修改了a的范圍,從0-9改為了1-10
而for里面a是0-10,在計算累加的情況下,0-10和1-10是相同的結果。
實質(zhì)上面的區(qū)別在于 ?a++的順序,for中是在邏輯后執(zhí)行,while是在邏輯前執(zhí)行,自增操作放在邏輯前后對邏輯的影響肯定是不同的,其實有點像{}=b++和{}=++b的區(qū)別,把{}看做循環(huán)體邏輯,前面給0-10,后面給0-9,對于{}是等效的。

TA貢獻3條經(jīng)驗 獲得超3個贊
不要考慮太多。按步驟來,一步步分析。
因為while循環(huán)設定的條件是(a<10),
在while的循環(huán)體中,
當前面條件a=9的時候,循環(huán)中執(zhí)行了a++,這是也就是a=10了

TA貢獻2條經(jīng)驗 獲得超0個贊

TA貢獻1條經(jīng)驗 獲得超0個贊

TA貢獻10條經(jīng)驗 獲得超2個贊
簡單的說你是想在while循環(huán)里添加a++語句來實現(xiàn)跟for循環(huán)一樣的效果吧。
但有一點你們搞清楚,就是這兩個循環(huán)處理邏輯的邏輯順序不對。
for循環(huán)是進入循環(huán)體,執(zhí)行完里面的語句后在a++,再判斷a<=10;
你寫的while循環(huán)里,先做了a++然后執(zhí)行了里面的語句。
所以,你把while循環(huán)里的a++放在b=a+b;這條語句之后,就會發(fā)現(xiàn)while條件也要啊a<=10才能得到30這個值。
問題出在你沒搞懂for循環(huán)的自增與條件判斷的步驟。
繼續(xù)加油吧,我哪里沒說清楚,你再問我。
添加回答
舉報