break语句的执行只会导致其所在层的循环被中止。在一个嵌套的双重循环中,处于内层循环内的break被执行时,只会导致内层循环的中止,外层循环不受影响。
版权声明
本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接。
本文不可以以纸质出版为目的进行改编、摘抄。
我们通过下述示例来说明双重循环中内层break语句的执行效果。
1 | //Project - DoubleFor |
上述程序的执行结果为:
1 | ********** |
上述代码包含两个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循环将继续执行。