可以看下面这个例子:
int main() { int i; for (i=0;i<10;i++) { switch (i) { case 1: printf("%d\n", i); break; case 2: printf("%d\n", i); continue; default: printf("%d\n", i); continue; } putchar('*'); } return(0); }
可以看到,第一个输出结果经过了continue就直接跳过了putchar('*')这个式子,而且就跟平常for循环中的continue一样返回到头部i+1再出来;而当i=1时经过了break后,程序就可以走到后面的putchar('*'),并且继续循环。
因此,总结出来就是,再for循环中的switch语句,break只是打断了switch语句,并没有打断for循环,而且往下继续运行了;而continue就会返回到for的头部,与平常的for循环中的continue无异。