这里会显示出您选择的修订版和当前版本之间的差别。
前一修订版 | |||
— | reference:language:goto [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== goto ====== | ||
+ | |||
+ | 程序将会从程序中已有的标记点开始运行 | ||
+ | ===== 语法 ===== | ||
+ | < | ||
+ | label: | ||
+ | goto label; | ||
+ | </ | ||
+ | ===== 提示 ===== | ||
+ | |||
+ | 不要在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: | ||
+ | </ | ||
+ | |||