想必很多人

常常用到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
就先寫這樣了

如果有問題 請留言吧


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Aminzai 的頭像
    Aminzai

    Amin's Note

    Aminzai 發表在 痞客邦 留言(1) 人氣()