#include <stdio.h>
void main(void)
{
int i;
for(i = 0; ; i++)
{
if(i % 2 == 0) // i を 2 で割った余りが 0 なら
{
printf("i = %d もーいいかい?¥n", i);
continue; // for 文の中で、この後の処理を飛ばす
}
if(i % 7 == 0) // i を 7 で割った余りが 0 なら
{
printf("i = %d もーいいよ!!¥n", i);
break; // for 文から抜ける
}
printf("i = %d まぁだだよ!¥n", i);
}
}
i = 0 もーいいかい?
i = 1 まぁだだよ!
i = 2 もーいいかい?
i = 3 まぁだだよ!
i = 4 もーいいかい?
i = 5 まぁだだよ!
i = 6 もーいいかい?
i = 7 もーいいよ!!
このプログラムは、
なぜ、i = 6のあと i = 7 もーいいよ!!の処理が行われるのでしょうか?
また、for文中のcontinueの効果がどうなっているのか解説してください。なぜ、printf("i = %d まぁだだよ!¥n", i);は実行されるのでしょうか?
また、i++は、if(i % 2 == 0)、if(i % 7 == 0)、printf("i = %d まぁだだよ!¥n", i);の終わり毎に働くものなのでしょうか?