“Goto”的版本间的差异
(Created page with "https://www.microduino.cn/wiki/index.php/Arduino_语法手册/zh 返回Arduino语法手册") |
|||
第1行: | 第1行: | ||
+ | *'''goto''' | ||
+ | 程序将会从程序中已有的标记点开始运行 | ||
+ | |||
+ | *'''语法''' | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | label: | ||
+ | goto label; //从label处开始运行 | ||
+ | </pre> | ||
+ | |||
+ | *'''提示''' | ||
+ | |||
+ | 不要在C语言中使用goto编程,某些C编程作者认为goto语句永远是不必要的,但用得好,它可以简化某些特定的程序。许多程序员不同意使用goto的原因是, 通过毫无节制地使用goto语句,很容易创建一个程序,这种程序拥有不确定的运行流程,因而无法进行调试。 | ||
+ | |||
+ | 的确在有的实例中goto语句可以派上用场,并简化代码。例如在一定的条件用if语句来跳出高度嵌入的for循环。 | ||
+ | |||
+ | *'''例子''' | ||
+ | <pre style="color:green"> | ||
+ | |||
+ | 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: | ||
+ | </pre> | ||
+ | |||
[[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] | [[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] |
2016年3月28日 (一) 07:35的最新版本
- goto
程序将会从程序中已有的标记点开始运行
- 语法
label: goto label; //从label处开始运行
- 提示
不要在C语言中使用goto编程,某些C编程作者认为goto语句永远是不必要的,但用得好,它可以简化某些特定的程序。许多程序员不同意使用goto的原因是, 通过毫无节制地使用goto语句,很容易创建一个程序,这种程序拥有不确定的运行流程,因而无法进行调试。
的确在有的实例中goto语句可以派上用场,并简化代码。例如在一定的条件用if语句来跳出高度嵌入的for循环。
- 例子
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: