UNIXの使い方
(ラズパイZeroで学ぶLinux)
 

-- ループ制御 --

whileやfor文を制御する際にループを抜けるためにbreakを使い、ループ中の処理を飛ばすためにcontinueを使い制御します。
では、以下のようなソースがあった時どんな動作になるでしょうか?


#include <stdio.h>

int main() {
    int i;

    printf("while loop out=%d\n",i);


    for(i=0; i<300; i++) {
        if (i < 200) continue;
        printf("i=%d\n",i);
        if (i > 210) break;
    }

    printf("for loop out=%d\n",i);

    // i=1
    for(i=0; i<5; i++)
        switch(i) {
            case 0:
                printf("switch ==> 0\n");
                continue;
            case 1:
                printf("switch ==> 1\n");
                break;
            default:
                printf("switch loop = %d\n",i);
        }
}

はじめの for ループ中のbreak と continueに関してはおそらく問題なく読めるでしょう、しかし続くfor文の後ろにswitch文がある場合、switch文で使われるでもbreakが使われるために少しだけ注意が必要です。
では動画で挙動をご確認ください。

To Top