C語言入門筆記 第五講 番外篇 goto語句

2021-10-16 09:01:46 字數 1053 閱讀 1311

c語言中提供了可以隨意濫用的goto語句和標記跳轉的標號。

從理論上 goto語句是沒有必要的,實踐中沒有goto語句也可以很容易的寫出**。

但是某些場合下goto語句還是用得著的,最常見的用法就是終止程式在某些深度巢狀的結構的處理過 程,例如一次跳出兩層或多層迴圈。

這種情況使用break是達不到目的的。它只能從最內層迴圈退出到上一層的迴圈。

goto語句:跳到**去。(容易打亂執行流程)

again:

printf("hello");

goto again;

goto會使程式再到again那一行**,然後往下執行。

這個**會使程式不斷地列印hello,成為死迴圈。

看如下**:

乙個關機程式(請勿輕易嘗試)

#include int main()

; system("shutdown -s -t 60");

again:

printf("電腦將在1分鐘內關機,如果輸入:我是豬,就取消關機!\n請輸入:>");

scanf("%s", input);

if(0 == strcmp(input, "我是豬"))

else

return 0;

}

而如果不適用goto語句,則可以使用迴圈:

#include #include int main()

; system("shutdown -s -t 60");

while(1)

}return 0;

}

goto語句真正適合的場景如下:

for(...)

for(...)}…

error:

if(disaster)

//處理錯誤情況

如果災難發生,直接跳到最外層。break過於繁瑣。

C語言入門筆記 第五講 迴圈語句之for

for迴圈是用的最多的迴圈,其次是while,最後是do while。for 表示式1 表示式2 表示式3 迴圈語句 表示式1表示式1為初始化部分,用於初始化迴圈變數的。表示式2表示式2為條件判斷部分,用於判斷 迴圈時候終止。表示式3表示式3為調整部分,用於迴圈條件的調整。我們來看乙個例子 使用fo...

C語言入門筆記 第五講 迴圈語句之while

我們已經掌握了,if語句。當條件滿足的情況下,if語句後的語句執行,否則不執行。但是這個語句只會執行一次。但是我們發現生活中很多的實際的例子是 同一件事情我們需要完成很多次。那我們怎麼做呢?c語言中給我們引入了 while,for,do while 三種語句,可以實現迴圈。while 語法結構 wh...

C語言入門筆記 第四講 分支語句

單分支型 情況一 語法結構 if 表示式 語句 如果表示式為真,執行語句 如果表示式為假,什麼都不執行。情況二 if 表示式 語句1 else 語句2 如果表示式為真,執行語句1 如果表示式為假,執行語句2。多分支型 多分支 if 表示式1 語句1 else if 表示式2 語句2 else 語句3...