“Goto”的版本間的差異
來(lái)自ALSROBOT WiKi
(以“在程序中轉(zhuǎn)移程序流到一個(gè)標(biāo)記點(diǎn)<br> 語(yǔ)法:<br> <pre style="color:blue"> label: goto label; // sends program flow to the label </pre> 提示:...”為內(nèi)容創(chuàng)建頁(yè)面) |
2014年9月12日 (五) 13:23的最后版本
在程序中轉(zhuǎn)移程序流到一個(gè)標(biāo)記點(diǎn)
語(yǔ)法:
label: goto label; // sends program flow to the label
提示:
在C程序中不建議使用goto,而且一些C編程書(shū)的作者主張永遠(yuǎn)不要使用goto語(yǔ)句,但是明智地使用它可以
簡(jiǎn)化某些代碼。許多程序員不贊成使用goto的原因是,無(wú)節(jié)制地使用goto語(yǔ)句很容易產(chǎn)生執(zhí)行流混亂的很難被調(diào)試的程序。
盡管如是說(shuō),仍然有很多使用goto語(yǔ)句而大大簡(jiǎn)化編碼的實(shí)例。其中之一就是從一個(gè)很深的循環(huán)嵌套中跳出去,或者是if邏輯塊,在某人些條件下。
示例:
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;} // 其它語(yǔ)句。。。 } } } bailout: