下記のプログラムを実行させると、


0
0
0
1
1
0

という結果になります。これは、2回ループの処理が実行されていて、


0 → iの値を表示している。1回目のループ
0 → aの値を表示している。変数aはループの外で初期化されている
0 → pの値を表示している。変数pはループの中で初期化されている
1 → iの値を表示している。2回目のループ
1 → aの値を表示している。変数aはループの外で初期化されているので、1増加している
0 → pの値を表示している。変数pはループの中で初期化されているので、再度0になっている

ということになります。

以下のプログラムとなります。

偶数の時だけ表示処理を行うようにif文を使います。

ちなみに、if文を使わないで書くこともできます。実はこちらの方が簡潔ですね。