goto語句也稱為無條件轉移語句,其一般為: goto 語句標號; 其中語句標號是按識別符號規定書寫的符號, 放在某一語句行的前面,標號後加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
如:
label: i++;
loop: while(x<7);
goto:loop
c語言不限制程式中使用標號的次數,但各標號不得重名。goto語句的語義是改變程式流向, 轉去執行語句標號所標識的語句。
goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。
但是,在結構化程式設計中一般不主張使用goto語句, 以免造成程式流程的混亂,使理解和除錯程式都產生困難。
建議:1)使用goto語句只能goto到同一函式內,而不能從乙個函式裡goto到另外乙個函式裡。
2) 使用goto語句在同一函式內進行goto時,goto的起點應是函式內一段小功能的結束處,goto的目的label處應是函式內另外一段小功能的開始處。
3) 不能從一段複雜的執行狀態中的位置goto到另外乙個位置,比如,從多重巢狀的迴圈判斷中跳出去就是不允許的。
4)應該避免向兩個方向跳轉。這樣最容易導致"麵條**"。
goto語句用法
goto語句 其實和switch語句有一點書寫的相似性,下面是寫法 自定義名稱 語句 例如 kel printf 這個位置 上面這個語句中 kel 是自定義的,後面加上冒號,再接上語句。如下面 int main 這段 將會直接列印出 這個位置 因為goto語句直接 跳轉到kel 語句的位置,執行ke...
goto 語句和標號
goto 語句及標號可能是有害的,但未必全是無用的。影響控制流程的語句 我們知道 break 只能跳出最內層的迴圈,如果在乙個巢狀迴圈中遇到某個錯誤條件需要立即跳出最外層迴圈做錯誤處理,就可以用到 goto 語句 for for error 出錯處理 這裡的 error 叫做標號 label 任何語...
php特性goto語句
goto的使用一直有爭議 5.3版本增加 支持者 goto使用起來比較靈活,而且有些情形能提高程式的效率。反對者 goto語句使程式的靜態結構和動態結構不一致,使程式難以理解 難以查錯。跳出迴圈或者switch語句 只能在同乙個檔案和作用域中跳轉,無法跳出乙個函式或者類方法,也無法跳入另乙個函式,更...