1.1 while中的continue作用
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d ", i); //结果为1,2,3,4,(死循环,代码不会结束)
i = i + 1;
}
return 0;
}
上图即为运行代码和运行结果图片 。
由此得知,while循环中continue的作用是:用于终止此次循环(跳过本次循环的后面的代码),直接去判断部分,进行下一次的入口判断。
1.2 第二种continue的情况(当i=i+1,即调整部分在continue前面)
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
i = i + 1;
if (i == 5)
continue;
printf("%d ", i); //结果为2 3 4 6 7 8 9 10 11
}
return 0;
}
此种只要稍加注意应该不会出错。
1.3 while中的break作用
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i); //结果为1 2 3 4
i = i + 1;
}
return 0;
}
while循环中break的作用是:只要遇到break,就停止后面的所有的循环,直接终止循环。(永久的终止循环)
2.1 for中的continue作用
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i = i + 1)
{
if (i == 5)
continue;
printf("%d ", i); //结果为1 2 3 4 6 7 8 9 10
}
return 0;
}
for循环中continue的作用是:在for循环中,若遇到continue,会跳过continue后面的代码,直接去循环的调整部分,和while循环中的continue有细微的区别。
2.2 for中的break作用
#include <stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i = i + 1)
{
if (i == 5)
break;
printf("%d ", i); //结果为1 2 3 4
}
return 0;
}
for循环中break的作用是:只要遇到break,就停止后面的所有的循环,直接终止循环。(永久的终止循环),break在while循环和for循环中一样。
3. 在多层代码块中,一个break只能跳出一层
#include <stdio.h>
int main()
{
int i = 1;
int j = 1;
for (i = 1; i <= 10; i = i + 1)
{
for (j = 1; j <= 10 ; j = j + 1)
{
if (j == 5)
break;
printf("%d*%d=%d ", i,j,j*i); //1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4
//2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8
//3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12
//4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
//5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20
//6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24
}
printf("\n");
if (i == 6)
break;
}
return 0;
}
由上可知,当 j==5 成立时,执行内层的break;
,跳出内层循环;外层循环依然执行,直到 i==6 成立,跳出外层循环。内层循环共执行了6次,外层循环共执行了1次。