一般常見的while loop通常是像下面這樣寫:
int i=0;
while(i<5){
printf("%d",i);
i++;
}
後來看到別人寫過下面這種:
int i=0;
while(i++<5){
printf("%d",i);
}
以為可以取代後面補上i++的語法,就可以少寫一句,比較精簡的感覺(懶)
今天一試
發現,不行啊 = =
上面那個程式印出來的會變成:1、2、3、4、5
而不是:0、1、2、3、4
i++<5在判斷大小後,i馬上就加1了,然後進入後面要執行的部分
所以後面直接就從1開始,而不是0
還是要照老方法orz
文章標籤
全站熱搜

int i=0; while(i++<5){ printf("%d",i); } 這個方式明顯是錯誤的,因為他的判斷條件是<5,也就是他期望值是i 要<5離開這個迴圈,而他這段的結果輸出的卻是12345,所以在一開始的設計上,他這段就寫錯了。 通常工作一段時間後,會開始思考寫Clean code,但是像這種會讓條件模糊不清的寫法,是讓你之後Debug非常不方便。 B&R Eric
敝人還沒有實用經驗~ 感謝經驗分享 QQ 目前還在蒐集奇怪的寫法中))) 不過說錯誤的話,似乎有點太武斷了吧XD||| 說並沒有比較精簡或是徒增麻煩的話,應該比較貼切~