MW211 EXIT

devlog
C/do-while中のcontinue文
2014年06月18日
continue文は先頭に戻ると考えがちだが…。
┌──────────┐
│do {               ←─┐
│    continue;      ──┘
│} while (条件式);   │
└──────────┘

実は、末尾にジャンプして先頭に戻っているのであった。
┌──────────┐
│do {               ←──┐
│    continue;      ──┐│
│} while (条件式);  ←─┘┘
└──────────┘

なので、以下みたいな読み飛ばし条件でcontineする処理を、
普通のwhile文から流用しても、永久ループになるということではないのであった。
┌──────────────────────────────────────┐
│while (ポインタ = 次読込関数()) {                                           │
│    if (読み飛ばし条件) {                                                   │
│        continue;                                                           │
│    }                                                                       │
│}                                                                           │
├──────────────────────────────────────┤
│do {                                                                        │
│    if (読み飛ばし条件) {                                                   │
│        continue;                                                           │
│    }                                                                       │
│} while (ポインタ = 次読込関数());                                          │
└──────────────────────────────────────┘
分類:C/C++