C 中goto語句的使用

2021-09-24 16:06:54 字數 590 閱讀 5748

goto 語句允許把控制無條件轉移到同一函式內的被標記的語句。

goto語句的使用:

1.保證函式只有乙個出口的原則

2.精簡函式內二元動作的**,如同個函式內的malloc 和 free,new 和 delete,加鎖和解鎖等操作(統一跳到函式結尾處釋放)。如下例子:

void func(void)

if(p2)

if(p3)

}

3.精確標定落點,使程式行為精準可控。當多重巢狀迴圈內部,因為某種異常,需要一次跳出所有迴圈。如下例:

void func(void)

}func_all_loop_break:

return;

}

goto語句應規避的一些用法:

1.只能從大括號內部向外跳,永遠不准跳進大括號。

2.只能向後跳,嚴禁向前跳。

3.嚴禁使用 goto 實現死迴圈。

4.根據 c++編譯器的約定,goto 的標籤後面,不能直接出現大括號,這時候需要在後 面新增乙個無意義的語句來使編譯器不報錯。通常是 return 或 continue 語句。

goto 語句的使用

goto語句包括兩個部分 goto和乙個標籤名稱。標籤的命名遵循與命名變數相同的約定。goto part1 標籤需要寫上工作的語句。part1 printf there is part1 n 觀察以下程式的執行結果 可以看到,當執行 goto 語句之後,程式就跳轉到part1 printf ther...

goto語句的使用

goto語句使用一定要在判斷中進行操作,如果再順序語句中,隨意的進行跳轉,那麼程式會具備極大的不確定性,比如前面定義了乙個變數,後面值已經改變了,然後goto又跳轉到定義處,那麼這個變數是定義的值還是後面改變的值?量大,這就不好控制了,所以一定要約束goto語句。include include in...

關於goto語句的使用

在專案中用到了大量的goto語句,遭到了領導的指責,感覺挺委屈的。作為乙個程式設計師,在很多地方都看到說要避免goto語句的使用。goto語句如洪水猛獸,其實都誤解了goto。濫用goto的確很恐怖,可是合理使用卻能夠對程式的結構效能有很大幫助。以下簡單說一下專案中用到goto的3類地方。1,多重迴...