用户工具

站点工具


reference:language:goto

差别

这里会显示出您选择的修订版和当前版本之间的差别。


前一修订版
reference:language:goto [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== goto ======
 +
 +程序将会从程序中已有的标记点开始运行
 +===== 语法 =====
 +<code>
 +label:
 +goto label;    //从label处开始运行
 +</code>
 +===== 提示 =====
 +
 +不要在C语言中使用goto编程,某些C编程作者认为goto语句永远是不必要的,但用得好,它可以简化某些特定的程序。许多程序员不同意使用goto的原因是, ​​通过毫无节制地使用goto语句,很容易创建一个程序,这种程序拥有不确定的运行流程,因而无法进行调试。
 +
 +的确在有的实例中goto语句可以派上用场,并简化代码。例如在一定的条件用if语句来跳出高度嵌入的for循环。
 +===== 例子 =====
 +<code cpp>
 +for(byte r = 0; r < 255; r++){
 +  for(byte g = 255; g > -1; g--){
 +    for(byte b = 0; b < 255; b++){
 +      if (analogRead(0) > 250){ 
 +        goto bailout;
 +      }
 +      //更多的语句...
 +    }
 +  }
 +}
 +bailout:
 +</code>
 +