2013-05-10 57 views
-8

我有一個簡單的問題:當while循環中有一個「break」命令時,程序是否完成直到while循環結束的行,然後中斷它的重複,還是跳到第一行之後執行「break」命令時的while循環?在C++的while循環中如何工作「休息」?

+4

它立即跳轉到循環的結尾。但是你可以編寫一個程序來測試這個行爲,幾乎和你花在提問這個問題上的時間一樣。不要害怕嘗試! – Jon 2013-05-10 20:40:42

+0

@Jon:或者在任何C++參考或教程中查看它。通過逐個詢問關鍵字,您無法學習該語言。 – 2013-05-10 20:43:59

+0

sry,我再也不會發布這樣的愚蠢問題了。我只是懶惰,不想打斷我的在線搜索工作。感謝你們。 – 2013-05-10 21:10:47

回答

4

它立刻跳出含有while環的(§6.6.1):

break陳述應在一個迭代語句或switch語句只發生並導致最小包圍的終止迭代語句或switch語句;如果有的話,控制權傳遞給終止陳述後面的陳述。

考慮the following example

while (true) { 
    break; 
    std::cout << "Never gets here" << std::endl; 
} 
std::cout << "Jumps straight to here" << std::endl; 
1

它以後的事

break語句終止最近的封閉的執行做了,開關,或while語句中出現。控制權傳遞給終止語句後面的語句。