跳出循环的三种方式

跳出循环的三种方式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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分享一个免费版本库可以建私库

    分享一个免费版本库可以建私库别的不多说目前这个行业小团队比较多,想要版本库的话  看下面  反正我个人一直在用  所以就推荐给你们。我不介绍github,和gitorious因为github在私人库的时候是收费的而最早的gitorious是没办法建私人库开源是帮助了很多人但如果你是一个小团队想找一个比较好而又免费的版本库的话我推荐使用bitbucket能建立免费私人库容量是无限大支持5人小团队一起合作

    2022年7月18日
    11
  • 用百度ocr+微信截图实现文字识别

    用百度ocr+微信截图实现文字识别作用:将图片中的文字识别出来一、调用微信截图dll控件将微信截图插件复制到项目文件,使用ctypes加载(胶水语言就是给力)defcapture():try:dll=ctypes.cdll.LoadLibrary(‘PrScrn.dll’)exceptException:print(“Dllloaderror!”)…

    2022年6月3日
    79
  • 关于pycharm安装第三方库的一些方法_pycharm安装本地第三方库

    关于pycharm安装第三方库的一些方法_pycharm安装本地第三方库问题集合记得关梯子记得关梯子记得关梯子要是遇到pip命令报错,或者在pycharm中无法下载第三方库,首先检查一下梯子是否开了的。我的环境:pycharm+anaconda虚拟环境问题1:问题:WARNING:Youareusingpipversion21.2.4;however,version21.3.1isavailable.Youshouldconsiderupgradingviathe’D:\anaconda\envs\py36\python.e

    2022年8月28日
    1
  • 三级网络技术选择题知识点集绵

    三级网络技术选择题知识点集绵

    2021年9月28日
    33
  • pycharm调试远程主机_eclipse连接远程服务器

    pycharm调试远程主机_eclipse连接远程服务器1.首先下载pycharm专业版,路径自寻,这边就不细说了。(社区版不支持远程配置)2.获取服务器的IP和密码3.打开pycharm,点击菜单栏:工具tools—>部署deployment–>configuration点击左上方+号step1:与服务器建立连接点击…点击确定我们的需求是,在pycharm编译器下使用服务器运行代码。因此,与服务器建立连接后,我们需要将本地文件映射到服务器中(有一种镜像的感觉?)故需要在服务器创建一个文件存放要运行的代码。s

    2022年8月26日
    3
  • css自动换行属性与保留空白属性冲突_css换行样式

    css自动换行属性与保留空白属性冲突_css换行样式word-break属性规定自动换行的处理方法。提示:通过使用word-break属性,可以让浏览器实现在任意位置的换行。所有主流浏览器都支持word-break属性。语法:word-break:normal|break-all|keep-all;normal使用浏览器默认的换行规则。break-all允许在单词内换行。keep-all只能在半角空格或连字符处换行。word-break:break-all所有的都换行,右侧换行没有空隙。word-wrap属性允许

    2025年6月27日
    0

发表回复

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

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