📅  最后修改于: 2023-12-03 15:00:11.334000             🧑  作者: Mango
在C语言中,break和continue是两条常用的控制语句,它们可以用于控制循环或者switch语句的执行流程。虽然它们的作用类似,但是它们之间还是存在一些区别的。
break语句用于中断循环或者switch语句的执行。当break语句被执行时,程序会跳出当前的循环或者switch语句,继续执行紧随其后的语句。
下面是一个使用break语句的示例代码:
#include <stdio.h>
int main()
{
int i;
for(i = 0; i < 10; i++)
{
if(i == 5)
{
break; // 中断循环
}
printf("%d ", i);
}
printf("\n");
return 0;
}
在上面的代码中,for循环中当i等于5时,break语句被执行,循环被中断,程序执行结果为:0 1 2 3 4。
continue语句用于跳过当前循环中余下的语句,在执行下一次循环之前会先测试循环条件,如果条件为真,则继续执行循环,否则跳出循环。
下面是一个使用continue语句的示例代码:
#include <stdio.h>
int main()
{
int i;
for(i = 0; i < 10; i++)
{
if(i % 2 == 0)
{
continue; // 跳过偶数
}
printf("%d ", i);
}
printf("\n");
return 0;
}
在上面的代码中,当i为偶数时,continue语句被执行,跳过余下的语句,程序执行结果为:1 3 5 7 9。
break语句和continue语句虽然都可以控制循环的执行流程,但是它们的作用不同。break语句用于中断循环或者switch语句的执行,而continue语句则用于跳过当前循环中余下的语句。
此外,在嵌套循环中,break语句只能跳出内层循环,而不能跳出外层循环;而continue语句则只能跳过当前的内层循环,而不能跳过外层循环。
#include <stdio.h>
int main()
{
int i, j;
for(i = 0; i < 10; i++)
{
for(j = 0; j < 10; j++)
{
if(j == 5)
{
break; // 中断内层循环
}
printf("%d:%d ", i, j);
}
printf("\n");
}
return 0;
}
在上面的代码中,当j等于5时,break语句被执行,中断内层循环,程序执行结果为:0:0 0:1 0:2 0:3 0:4 1:0 1:1 1:2 1:3 1:4 …… 9:0 9:1 9:2 9:3 9:4。
#include <stdio.h>
int main()
{
int i, j;
for(i = 0; i < 10; i++)
{
for(j = 0; j < 10; j++)
{
if(j % 2 == 0)
{
continue; // 跳过内层循环中的偶数
}
printf("%d:%d ", i, j);
}
printf("\n");
}
return 0;
}
在上面的代码中,当j为偶数时,continue语句被执行,跳过余下的语句,程序执行结果为:0:1 0:3 0:5 0:7 0:9 1:1 1:3 1:5 1:7 1:9 …… 9:1 9:3 9:5 9:7 9:9。
break语句用于中断循环或者switch语句的执行,其作用是跳出当前的循环或者switch语句,继续执行后面的语句。continue语句用于跳过当前循环中余下的语句,在执行下一次循环之前会先测试循环条件,如果条件为真,则继续执行循环,否则跳出循环。在嵌套循环中,break语句只能跳出内层循环,而不能跳出外层循环;而continue语句则只能跳过当前的内层循环,而不能跳过外层循环。