跳出循环的三种方式

跳出循环的三种方式break、continue、goto三个关键字都可以用于跳出循环,但三者跳出循环的情况却有所不同braek:跳出本层循环,执行本层循环下面的语句。continue:终止本次循环,进入下一次循环。goto:调到标号所在位置,执行标号下面的语句,它比较方便的是可以一次跳出多重循环,但是它只能在函数内跳转,不能在函数间跳转。goto语句有一定的弊病,会使程序的流程变得混乱,有时会难以理解,并

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

break、continue、goto三个关键字都可以用于跳出循环,但三者跳出循环的情况却有所不同
braek:跳出本层循环,执行本层循环下面的语句。
continue:终止本次循环,进入下一次循环。
goto:调到标号所在位置,执行标号下面的语句,它比较方便的是可以一次跳出多重循环,但是它只能在函数内跳转,不能在函数间跳转。goto语句有一定的弊病,会使程序的流程变得混乱,有时会难以理解,并且程序的调试与排错也会变得复杂。

#include<stdio.h>

int main()
{
    int num = 0;
    int i = 0;
    for (int i = 0; i < 10; i++)
    {
        if (num == 5)
        {
            break;
            num += 2;  
        }
        num += 1;
    }
    printf("%d\n", num);
    system("pause");
    return 0;
}

输出结果为5。
当num =5时,程序直接跳出循环,执行输出语句,故输出为5。

#include <stdio.h>

int main()
{
    int num = 0;
    int i = 0;
    for (int i = 0; i < 10; i++)
    {
        if (num == 5)
        {
            num += 2;     //此处要是不加这条语句,num会一直等于5,使之后每次进入循环时都会从此处
                          //终止而进入下一次循环,num的值不再改变
            continue;

        }
        num += 1;
    }
    printf("%d\n", num);
    system("pause");
    return 0;
}

输出结果为11。
当num = 5时,程序先给num加2(避免以后每次进入时num还为5,会一直continue直到循环结束),终止本次循环,进入下一次循环,直到i = 10时跳出循环,执行输出语句,境分析也可得处输出为11.

#include<stdio.h>

int main()
{
    int num = 0;
    int i = 0;
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)
        {
            if (num == 20)
            {
                goto logo;
            }
            num += 1;
        }

    }
    logo:
    printf("%d\n", num);
    system("pause");
    return 0;
}

输出结果为20。
当num = 20时,程序进入if语句块,执行goto语句,使程序执行位置跳转到goto语句标号所在位置的下一条语句去,即输出语句,因此程序输出为20。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java——数组转换为List集合

    Java——数组转换为List集合packageday04;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;/***数组转换为List集合*不能转换为Set集合,原因在于Set集合不能存放重复元素*@authorAdministrator**/publicclassToListDemo…

    2022年6月17日
  • ubuntu20.04 LTS_Ubuntu 20

    ubuntu20.04 LTS_Ubuntu 20Ubuntu22.04LTS正式发布,采用Linux5.17内核,包括桌面改进、视觉变化及系统功能。

    2022年9月3日
  • windows文件读取 xxe_XXE漏洞「建议收藏」

    windows文件读取 xxe_XXE漏洞「建议收藏」0x00什么是XML1.定义XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。2.文档结构XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。]]]>DaveTom3.DTDXML文档结构包括XML声明、DTD文档类型定义(可选)…

    2022年5月10日
  • 贝云cms内容管理系统(thinkphp5.0开源cms管理系统)

    贝云cms内容管理系统(thinkphp5.0开源cms管理系统)

    2021年11月6日
  • 二进制中的加减法_二进制数的加减运算

    二进制中的加减法_二进制数的加减运算二进制的加减法1)二进制加法(1)BinaryAddition)Sincebinarynumbersconsistofonlytwodigits0and1,sotheiradditionisdifferentfromdecimaladdition.Additionofbinarynumberscanbedonefollowingcer…

    2022年9月25日
  • java培训达内学费[通俗易懂]

    java培训达内学费[通俗易懂]达内教育Java培训费用是多少钱?哪个机构好?根据目前的行情来看,Java培训费用大概在1-3万左右,每个人根据个人不同的基础决定学习的课程,有些人基础差点的,学习的是基础课程,费用相对低一点。除了关心Java培训费用是多少钱我们还会关心学习的周期,具体要学习多久呢?一般来说Java培训的时间是4个月左右,具体看个人学习情况,如果学习学的好,那么就4个月就能毕业了,如果是觉得学习完了后自己还是不太了解,那么可以留级,免费在学习一遍,为自己去面试在铺垫一下。Java培训哪个机构好?达内达内的特色是..

    2022年7月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号