goto語句是一種無條件轉移語句,goto 語句的使用格式為:
goto 語句標號;
其中標號是乙個有效的識別符號,這個識別符號加上乙個「:」(冒號)一起出現在函式內某處,執行goto語句後,程式將跳轉到該標號處並執行其後的語句。
另外標號必須與goto語句同處於乙個函式中,但可以不在乙個迴圈層中。通常goto語句與if條件語句連用,當滿足某一條件時,程式跳到標號處執行。
goto語句通常不用,主要因為它將使程式層次不清,且不易讀,但在多層巢狀退出時,用goto語句則比較合理。
大多數人在學習c語言的時候都或多或少的看過或者聽過不要使用goto語句,但是,在某些時刻,該goto時就goto。
這個例子可能是大家見的最多的跳出迴圈用法,因為這裡break不好使。但是。。。
第一次嘗試使用goto的時候,有乙個誤區,就是如果沒有執行goto,goto的標籤會不會執行?
我之前以為不會執行,但是,goto的標籤,就是程式的一部分,哪怕沒有執行goto,goto的標籤也會順著程式執行流程而執行(如上圖測試一樣)。這就給我們寫程式的時候帶了隱藏的bug,千萬別以為goto不執行,標籤就不執行了。
summary:
在我們使用goto跳出迴圈或者處理關鍵**段的時候,goto標籤的位置,一定是異常處理的位置,哪怕不執行goto,標籤也會執行。但很多時候,goto出去的**段都是關鍵**處理,在沒有執行goto的時候,我們不想標籤處的**被執行(比如異常處理),這樣我們就可以通過下面的方式做到:
C語言 goto語句
goto語句又叫無條件轉移語句,先看乙個例子 include void main printf hello gotoflag printf nihao 輸出 nihao 可以看出在執行 goto gotoflag 語句之後直接跳轉到gotoflag printf nihao gotoflag 為標記...
goto 語句 C語言
c語言 goto語句又叫無條件轉移語句,先看乙個例子 include void main printf hello gotoflag printf nihao 輸出的結果為 nihao 可以看出在執行 goto gotoflag 語句之後直接跳轉到gotoflag printf nihao goto...
C語言基礎 goto語句
在本節中我們來學習乙個比較有爭議的語句goto,goto語句可以使程式在沒有任何條件的情況下跳轉到指定的位置,所以goto語句又被稱為是無條件跳轉語句。它的語法如下 goto label 其它 label 其中,label為我們自己定義的乙個標籤,定義的規則與變數的命名相同,它的位置是不固定的,它可...