想必很多人
常常用到for loop
所以想必很多人都很會用for loop
可是如果問你 for是怎麼做判斷跟執行
想必很多人都不會吧....(我以前也不會 泣....)
先來一個簡單的for loop
#include <iostream>
using namespace std;
int main()
{
int num=2,i;
for(i=1; i<=3; i++)
{
cout<<endl
<<"===================="<<endl;
cout<<"num="<< num <<" i="<<i<<endl;
num++;
}
}
其結果
====================
num=2 i=1
====================
num=3 i=2
====================
num=4 i=3
然後我在程式裡面在加了一些東西
然後仔細觀察一下
有什麼不同
#include <iostream>
using namespace std;
int main()
{
int num=2,i;
for(i=1,cout<<"(1)="<<i ; (i<=3)&&(cout<<"(2)="<<i) ; i++,cout<<"(3)="<<i) ////// 我只改了這裡
{
cout<<endl
<<"===================="<<endl;
cout<<"num="<< num <<" i="<<i<<endl;
num++;
}
}
其結果
(1)=1(2)=1
====================
num=2 i=1
(3)=2(2)=2
====================
num=3 i=2
(3)=3(2)=3
====================
num=4 i=3
(3)=4
有發現什麼地方嗎?
你會發現
如果我把for loop裡面的三個重要參數和迴圈內容分別分成A ,B ,C ,D
( EX: for( A ; B ; C) { D } )
則他迴圈執行的順序
先執行A 將數值載入
然後進行 B 的比對
接著 他會去跑 D 內容
最後才是跑 C 的計數
然後在進行 B 的檢查
是否要不要再進行 D的內容
T : 執行 D F:跳出迴圈
依此類推
簡單圖例(技術不好請見諒)
A-------B--(T)--D-------C-------B-(T)--D................................(依此類推)
| (F) |(F)
跳出迴圈 跳出迴圈
(T=真 F= 假)
以上看完 應該有助於
寫迴圈上的思考 XD
就先寫這樣了
如果有問題 請留言吧
留言列表