学习笔记——深度循环的跳出

来源:互联网 发布:seo方案ppt 编辑:程序博客网 时间:2024/06/17 02:32

1、break只能跳出单层循环或者switch语句。

如果是循环内部有一个switch,switch内部用break也只跳出swith,循环继续进行。

连用break是没有用的,因为有一个break后,他后面的句子都没有用处。

综上,break只能用于单层跳出。

2、跳出深度循环

(1)用goto

     这是唯一可以用goto的场合,没办法,名声太差了。

for(){for(){for(){for(){if(){goto mark;   //分号}}}}}mark:   //冒号//循环结束后马上打标签,否则可能出现许多意想不到的问题

 (2)用flag标记

bool flag=true;while(flag&&    ){while(flag&&    ){while(flag&&    ){while(flag&&    ){if(){flag=false;}}}}}

另,用for()实现也是相同的,for(初始化;判出条件;变量改变)  并不妨碍判处条件有一个&&

bool flag=true;for(  ;    &&flag;   ){for(  ;    &&flag;   ){for(  ;    &&flag;   ){for(  ;    &&flag;   ){if(){flag=false;}}}}}

综上,因为goto脸太黑了,所以即使像深度跳出这样好用的时候,还是会有人吐槽的。笔者就是这么一个,个人倾向于忘掉goto吧。

      

0 0
原创粉丝点击