処理のスキップを行います。
for、while、do〜while のループの中で処理をスキップさせるために用いる。
通常 if文と併用され、ループ処理の中で、ある条件が成立する場合、それ以下の処理を行わずにスキップする。
(例)int i = 1, n, sum; sum = 0; while (i <= 10) { …とりあえず 10回ループ scanf("%d", &n); if (n < 0) …入力データが負なら continue; 以下の処理をスキップする sum = sum + n; i++; } printf("sum = %d\n", sum); |
|
【continue文をwhile文とfor文の中で使った場合の違い】
実はcontinue文をwhile文の中で用いた場合とfor文の中で用いた場合とでは、スキップの動きが異なります。
下の例に見られるように、while文ではcontinueで「i++;」が実行されないため、負数を入れる限り処理がスキップされます。
ですが、for文ではcontinueでも「i++;」が実行されるため、スキップは5回のみになります。
(while文で用いたcontinue文)#include <stdio.h> int main(void) { int i = 1, n, sum; sum = 0; while (i <= 5) { printf("正の整数を入力 : "); scanf("%d", &n); if (n < 0) continue; sum = sum + n; i++; } printf("sum = %d\n", sum); return 0; } |
(for文で用いたcontinue文)#include <stdio.h> int main(void) { int i, n, sum; sum = 0; for (i = 1; i <= 5; i++) { printf("正の整数を入力 : "); scanf("%d", &n); if (n < 0) continue; sum = sum + n; } printf("sum = %d\n", sum); return 0; } |
(フローチャート) |
(フローチャート) |
(実行結果)正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 : : (何度-1を入力してもスキップするため終了しない) ※ 緑字はキーボードからの入力 |
(実行結果)正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 正の整数を入力してください : -1 sum = 0 (i++; が実行されスキップは5回のみ) ※ 緑字はキーボードからの入力 |
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved