Goto

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索

在程序中轉(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: