• C/C++:双重循环中的break


    break语句的执行只会导致其所在层的循环被中止。在一个嵌套的双重循环中,处于内层循环内的break被执行时,只会导致内层循环的中止,外层循环不受影响。

    本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者"海洋饼干叔
    叔";本文不允许以纸质及电子出版为目的进行抄摘或改编。
    1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应用
    2.《Python编程基础及应用实验教程》, 陈波,熊心志,张全和,刘慧君,赵恒军,高等教育出版社Python编程基础及应用实验教程
    3. 《简明C及C++语言教程》,陈波,待出版书稿。免费授课视频

    我们通过下述示例来说明双重循环中内层break语句的执行效果。

    //Project - DoubleFor
    #include
    using namespace std;

    int main()
    {
    for (int i=0;i<10;i++){ //i循环:第0行至第9行
    for (int j=0;j<10;j++){ //j循环:第0列至第9列,但第i行最多输出10-i列
    if (j>=(10-i))
    break;
    cout << “*”;
    }
    cout << endl;
    }

    return 0;
    
    • 1

    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    上述程序的执行结果为:









    **
    *
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    上述代码包含两个for循环,外层的i循环从0到9,内层的j循环也从0到9。如果删去代码第9 ~ 10行,程序将输出10行10列共10个*号,当内层j循环结束后,第13行会在行尾输出一个换行符。

    第9~10行:对于第i行,程序仅允许输出10-i个*号。当超过数量,即j>=(10-i)时,执行break语句结束内层循环。

    下图展示了break语句执行后的程序跳转位置,如图所见,被终止的只是内层j循环,外层i循环将继续执行。

  • 相关阅读:
    Security思想项目总结
    二、前端-VUE(2)
    springboot班级综合测评管理系统springboot005
    Android使用osmdroid加载在线地图,离线地图以及各种填坑姿势
    灰狼优化算法(Matlab完整代码实现)
    git创建新分支
    Opengl之多光源
    Nacos使用(三)
    backurl: heytapbrowser://main/iflow?sub_target=only_enter_iflow
    TQ210-Bootloader-Uboot(LTS)
  • 原文地址:https://blog.csdn.net/m0_71905144/article/details/128182689