目錄
前言
1.goto語句的缺點:
2.goto語句的結構:
3.goto語句的用法:
前言
goto語句其實在平常中我們 除了學習分支語句和循環語句時,介紹循環語句時,才會知道有goto語句這個用法,那讀者可能會問:我們還有學習的必要嗎?
答案是顯而易見的,正如黑格爾所說的:存在即合理!既然存在,就會有存在的必要!雖然我們現在不會遇到且用到 ,當在搞Linux硬體驅動等的時候,其核心含有較多的goto語句,如果不會且不知道的話,将會導緻你無法了解這個的工作原理。是以我們要知道并學會用于它。
1.goto語句的缺點:
之是以老師沒有多強調它,以及各大教科書幾乎都是寥寥數筆,因為它有一個緻命的缺點:一旦濫用goto語句将會導緻邏輯混亂,導緻系統崩潰等問題!!!
2.goto語句的結構:
again:
語句;
goto again;//again可以替換成其他的,這裡不要求一定是again
3.goto語句的用法:
某些場合下goto語句還是用得着的,最常見的用法就是終止程式在某些深度嵌套的結構的處理過 程。比如結束多層嵌套的使用。
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
…
error:
if(disaster)
// 處理錯誤情況
在舉一個具體例子便于你的了解:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
int main(void)
{
char input[20] = {0};
system("shutdown -s -t 60");//表示将在60秒後電腦關機
again:
printf("請注意:你的電腦将在60秒後自動關機,如果輸入:不要關機,則取消自動關機\n");
scanf("%s", input);
if (strcmp(input,"不要關機") == 0)
{
system("shutdown -a");
}
else
goto again;
return 0;
}