资讯

展开

c语言中break和continue的用法和区别

作者:快盘下载 人气:

大家好,又见面了,我是你们的朋友全栈君。

break与continue的的用法以及区别

1.当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执continue语句后的其它语句,但下一次循环还会继续执行。

2. 如果有多层循环时,break只会跳出本层循环,不会跳出其他层的循环.

3. break可用于switch语句,表示跳出整个switch语句块,而continue则不能单独的用于switch语句。但是continue可以用于循环内部的switch语句。

4. break和continue语句在循环内的switch语句中使用时,是有区别的。在这种情况下的break是指跳出switch语句块(switch语句块的代码仍然执行)。而这种情况下的continue是指结束本次循环(不在执行switch后面的代码),进行下一次循环。

代码分析:

​
//break 代码实例
#include <stdio.h>
 
int main()
{
    int i = 1;
    while(i<=10)
    {
        if(i==5)
            break;
        printf("%d ",i);
        i = i + 1;
    }
    return 0;
}

​

此处,代码的输出结果是什么?

正确输出为:1 2 3 4

原因分析:当程序运行到if(i==5) 程序就直接终止,直接 退出当前循环。

总结:在循环中只要遇到break,就停止后期所有的循环,直接终止循环。

测试2:

​
void test2()
{
int i = 0;
for (i = 0; i < 5; i++)
{
if (i == 2)
{
continue;
printf("我没有被打印出来!
");
}
printf("i = %d
", i);
}

​

test2()的打印结果是 i = 0 i = 1 i = 3 i = 4 i = 2没有被打印,是因为continue 结束了那一次循环,继续了下一次循环

void test3()
{
int i = 0;
int j = 0;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
if (j == 2)
{
break;
}
printf("Hello: %d
", j);

}

test3()是一个两层for循环,break语句只会跳出最近的一层循环, 第二层for循环继续执行

在test4()中,break的作用只会跳出 switch()语句块,执行swith语句块后面的程序printf(“Hello World! ”); 而不是跳出循环。

与test5()进行对比,continue是结束本次循环,进行下一次循环, switch()语句块后边的内容不会被打印 */ void test4() { int i = 0; for (i = 0; i < 2; i++) { int j = 5; switch (j) { case 4: printf(“你好 %d !!! ”, 4); break; case 5: printf(“你好 %d !!! ”, 5); break; case 6: printf(“你好 %d!!! ”, 6); break; }

printf(“Hello World! ”); } }

/* test5()中循环内部的switch语句中的continue是直接结束本次循环, switch语句块后面的printf(“Hello World! ”);将不会被执行。 */ void test5() { int i = 0; for (i = 0; i < 2; i++) { int j = 5; switch (j) { case 4: printf(“你好 %d !!! ”, 4); continue; case 5: printf(“你好 %d !!! ”, 5); continue; case 6: printf(“你好 %d!!! ”, 6); continue; }

printf(“Hello World! ”); } }

int main() {

test1(); printf(“———————————————————“); test2(); printf(“———————————————————“);

test3(); printf(“———————————————————“);

test4(); test5(); printf(“———————————————————“);

system(“pause”); return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195012.html原文链接:https://javaforall.cn

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!