continue break goto

来源:互联网 发布:淘宝怎么查付款顺序 编辑:程序博客网 时间:2024/06/03 17:08
 

 

1 continue

 

continue 汉意为继续。它的作用及用法和break类似。重要区别在于,当前循环遇到break,是直接结束循环,而若遇上continue,则是停步当前这一遍循环,然后直接尝试下一遍循环。我把“尝试”加粗以引起注意,为什么要注意原因后面再说,请先看下面关于break和continue的对比:

continue并不结束整个循环,而仅仅是中断的这一遍循环,然后跳到循环条件处,继续下一遍的循环。当然,如果跳到循环条件处,发现条件已不成立,那么循环也将结束,所以我们称为:尝试下一遍循环。

 

 

2 goto

臭名昭著的goto出场了。

goto的汉义为“转到”,在计算机语言里,它的完整名称为:“无条件跳转语句”。几乎所有高级语言都会劝你尽量不要使用它goto。因为它会破坏程序的模块性,严重降低一段程序的可读性。若是老外写的书,则比喻使用大量goto的代码:“像意大利面条”。嗯,其实北京的杂酱面也很缠绕……可惜没有走向世界。

goto的用法是,首先要在代码中某处加上一个位标(也称标号),然后在代码中的需处,加上goto,并写让要跳转到位标。比如你在第三行代码加一个位标:A : ,然后可以在第10行写上一个goto A,程序执行到该行时,就将跳到第三行。

加位标的方法是在一空行加上位标的名称,命名规则和变量一样,但最后要加上一冒号“:”。

例如:

int i = 1;

A :

cout << i << endl;

i++;

if(i <= 10)

goto A;

... ..

goto 虽然号称“无条件跳转”,事实上倒是有些条件限制。主要是三条。

1、goto只能在当前的同一程序段内跳转;

2、goto 可以从循环内跳转到循环外的代码,但不能从循环外的代码跳到循环内;

3、在有goto的跳转范围内,不能再使用C++允许的临时变量声明。

  好了,其实笔者写程序近10年,惟一用到goto的地方就是:将一段简单的程序故意用goto写得面目全非,以期能让破解程序的人因为眼晕而放弃功击……一句老话:如果没有什么特殊理由,不要在程序里使用goto。