break與continue

break可以離開目前switch、for、while、do while的區塊,並前進至區塊後下一個陳述句,在switch中主要用來結束陳述句進行至下一個case的比對,在for、while與do while中,主要用於中斷目前的迴圈執行,如果break出現並不是內含在for、while迴圈中或switch陳述中,則會發生編譯錯誤, break的例子我們之前看過不少,這邊不再舉例。 

continue的作用與break類似,主要使用於迴圈,所不同的是break會結束區塊的執行,而continue只會結束接下來區塊中的陳述句,並 跳回迴圈區塊的開頭繼續下一個迴圈,而不是離開迴圈,例如:
int i;    
for(i = 1; i < 10; i++) {
    if(i == 5)
        break;

    printf("i = %d\n", i);
}

這段程式會顯示i = 1到4,因為當 i 等於5時就會執行break而離開迴圈,再看下面這個程式: 
int i;    
for(i = 1; i < 10; i++) {
    if(i == 5)
        continue;

    printf("i = %d\n", i);
}

這段程式會顯示1到4,與6到9,當 i 等於5時,會執行continue直接結束此次迴圈,這次迴圈cout該行並沒有被執行,然後從區塊開頭頭執行下一次迴圈,所以5並沒有被顯示。