C语言中有两个跳出循环的语句,它们分别是 break 和 continue:
break 语句的作用是终止并退出当前的循环语句(见图 1),执行该循环语句后面的语句,其一般格式如下:
break; //一般出现在 if 语句的主体部分
下面的 for 循环语句正常情况下会打印出 10 个数字,然后再打印出“OK”。不过,其中的 break 语句使得循环在输出 5 个数字以后就打印出了“OK”,for 循环语句实际上只执行了 5 次循环。
for(i=1;i<=10;i++)
{
printf("%d",i);
if(i==5)
break; //当循环变量 i=5 时退出循环,执行 for 语句后面的printf()
printf("OK");
}
break 语句使得循环语句还没有完全执行完就提前结束,与之相反,continue 语句并不终止当前的循环语句的执行,仅仅是终止当前循环变量 i 所控制的这一次循环,而继续执行该循环语句。continue 语句的实际含义是“忽略 continue 之后的所有循环体语句,回到循环的顶部并开始下一次循环”(见图 2)。其一般格式如下:
continue; //一般出现在 if 语句的主体部分
下面的 for 循环语句执行了全部 10 次循环,但其循环体中 printf() 语句只执行了 5 次,因为,当 i 的值为奇数时,continue 语句使得其后的 printf() 语句没有被执行。
for(i=1;i<=10;i++)
{
if(i%2==1)
continue; //当 i 为奇数时不执行下面的printf(),而继续下一次循环
printf("%d是偶数\n",i);
}