跳出循环的三种方式

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


相关推荐

  • Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

    Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)权限简介   Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。   Linux下文件的权限类型一般包括读,写,执行。对应字母为r、w、x。   Linux下权限的粒度有拥有者、群组、其它组三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,如果其它的用…

    2022年6月25日
    93
  • 由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程

    由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程事件描述某一天的早晨,我还是像往常一样搭着公交车开启打工仔的一天,一早8.30就到办公室了,坐着玩手机等上班,就这这时突然我组长飞快的回来办公室,回来就说快看看阿里云后台服务,服务是不是挂掉了,我当时就纳闷了一大早的流量不大怎么就宕机了呢,不一会我组长收到了阿里云短信通知监测到恶意脚本,接下来就是脚本的查找前期处理首先是通过阿里云的控制台发现,查看到恶意的进程PID,通过ps-ef|greap5724的确看到了当前进程,前期处理我只

    2022年7月14日
    18
  • 视频监控中NVR录像机NTP校时配置(京准)

    视频监控中NVR录像机NTP校时配置(京准)NTP校时通过设置NTP服务器地址、NTP端口号和校时时间间隔,设备即按照设置每隔一段时间校时一次。NVR3.0界面路径:主菜单—系统配置—网络配置——NTP海康威视iVMS-4200校时、手动校时、定位校时、NTP校时四种方法任你选NVR4.0界面路径:系统管理—网络配置—基本配置—NTP注意:NTP校时,需要设备接入外网或者在局域网中有NTP软件组建NTP服务器。定位校时…

    2022年6月22日
    491
  • 修改RAC环境中的ASM DG名称

    修改RAC环境中的ASM DG名称

    2021年7月5日
    108
  • QT计算器 之 大数运算「建议收藏」

    QT计算器 之 大数运算「建议收藏」1、简介:计算器是我们生活中很常见的东西,它可以由多种语言多种方式来实现,今天我想讲的是基于C++语言,由QT实现的可以计算大数的简单计算器。2、作品演示:(1)简单四则运算(2)大数运算3、重点原理讲解(1)四则运算如何实现(2)大数的加减乘除4、代码主体框架1个主函数;两个类:一个calculator类,实现了对界面的布局,其实这个布局很简单,就设置

    2022年9月28日
    2
  • jquery中on绑定click事件在苹果手机失效问题解决(巨坑啊)

    jquery中on绑定click事件在苹果手机失效问题解决(巨坑啊)

    2021年11月5日
    67

发表回复

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

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