File: gawk.info, Node: Continue Statement, Next: Next Statement, Prev: Break Statement, Up: Statements 7.4.7 The 'continue' Statement ------------------------------ Similar to 'break', the 'continue' statement is used only inside 'for', 'while', and 'do' loops. It skips over the rest of the loop body, causing the next cycle around the loop to begin immediately. Contrast this with 'break', which jumps out of the loop altogether. The 'continue' statement in a 'for' loop directs 'awk' to skip the rest of the body of the loop and resume execution with the increment-expression of the 'for' statement. The following program illustrates this fact: BEGIN { for (x = 0; x <= 20; x++) { if (x == 5) continue printf "%d ", x } print "" } This program prints all the numbers from 0 to 20--except for 5, for which the 'printf' is skipped. Because the increment 'x++' is not skipped, 'x' does not remain stuck at 5. Contrast the 'for' loop from the previous example with the following 'while' loop: BEGIN { x = 0 while (x <= 20) { if (x == 5) continue printf "%d ", x x++ } print "" } This program loops forever once 'x' reaches 5, because the increment ('x++') is never reached. The 'continue' statement has no special meaning with respect to the 'switch' statement, nor does it have any meaning when used outside the body of a loop. Historical versions of 'awk' treated a 'continue' statement outside a loop the same way they treated a 'break' statement outside a loop: as if it were a 'next' statement (*note Next Statement::). (d.c.) Recent versions of BWK 'awk' no longer work this way, nor does 'gawk'.