迴圈與習慣
當你用了很久的for迴圈,某天卻要用while迴圈,你是否也有這樣的經驗?
心理想著for迴圈
這是由於內部迴圈所使用的y變數,只有在整個迴圈的一開始作初始化的動作(歸零),因此內部迴圈只會作一次,之後不管外部迴圈跑幾次,它都不會再作內部迴圈。
正確的寫法是
在程式主體必需要高度集中思考與大量程式碼的掩飾下,很容易就以為程式是在運算中出錯,而不是迴圈設定上,若是陷在這種基礎的思考中而不自知,會花費相當多的時間在debug,而且找到以後還會碎碎念:迴圈也會寫錯,還花這麼多時間。
2008-01-28 添加正確的迴圈寫法
心理想著for迴圈
for (int x=0;x<100;++x) {寫出的while是
for (int y=0;y<50;++y) {
// processing....
}
}
int x=0,y=0;結果是錯的!
while (x<100) {
while (y<50) {
// processing....
++y;
}
++x;
}
這是由於內部迴圈所使用的y變數,只有在整個迴圈的一開始作初始化的動作(歸零),因此內部迴圈只會作一次,之後不管外部迴圈跑幾次,它都不會再作內部迴圈。
正確的寫法是
int x=0;
while (x<100) {
int y=0;
while (y<50) {
// processing....
++y;
}
++x;
}
在程式主體必需要高度集中思考與大量程式碼的掩飾下,很容易就以為程式是在運算中出錯,而不是迴圈設定上,若是陷在這種基礎的思考中而不自知,會花費相當多的時間在debug,而且找到以後還會碎碎念:迴圈也會寫錯,還花這麼多時間。
2008-01-28 添加正確的迴圈寫法
留言