a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > DOS > 正文

dos 流程跳轉 goto

2020-07-26 20:27:07
字體:
來源:轉載
供稿:網友
如果對不同的情況,需要執行不同的既定操作,若還是按照常規的執行流程的話,是無法完成任務的,這個時候,就需要引入流程跳轉的概念,動用流程跳轉語句 goto 了。流程跳轉的含義是:改變默認的執行順序,強制跳轉到指定的位置執行特定的程序塊。

  先來看個例子:假設需要判斷用戶輸入的是A還是B,代碼可以寫成這樣:
@echo off
set /p input=請輸入字母A或B:
if "%input%"=="A" goto A
if "%input%"=="B" goto B
pause
exit

:A
echo 您輸入的字母是A
pause
exit

:B
echo 您輸入的字母是B
pause
exit

  按照一般的執行流程,所有的代碼都會自上而下逐行執行一次,結果將顯示"您輸入的字母是A"和"您輸入的字母是B"這兩行內容,很顯然,這是達不到我們的要求的;但是,實際的結果是:如果您輸入的字母非A即B,則結果只會顯示"您輸入的字母是A"或者"您輸入的字母是B";也就是說,代碼的執行順序發生了改變,不再一成不變地自上而下逐行執行了:當輸入字母A后,將執行第一條if語句,此條語句執行后,將跳轉到標簽段:A,從而繞過了第一條if語句和:A之間的所有代碼行;當輸入字母B后,將執行頭兩條if語句,當執行完第二條if語句后,將跳轉到標簽段:B,從而繞過了第二條if語句和:B之間的所有代碼行。

  從上面的例子可以看到,要讓goto語句起作用,還需要:A或:B之類的標簽段的配合。所謂的標簽段,就是這樣的一些代碼塊:在首行上以單個冒號打頭,其后緊跟一串字符,第二行及其之后的所有行為代碼語句行。在這里,第一行的冒號是標簽標志,緊跟它之后的字符串是標簽名,兩者合稱標簽。goto語句后面的部分為標簽名,指引著該語句執行完之后該跳到轉何方,標簽則接收goto語句的跳轉指令,引導著goto語句的后續操作。goto語句和標簽互相呼應,在實現流程跳轉時相輔相成,缺一不可。

  下面說一下使用跳轉語句goto的注意事項:

  1、goto語句和標簽要互相呼應,不能只有goto語句而沒有相應的標簽段,否則,程序將找不到相應的標簽段而直接退出;只有標簽段而沒有goto語句是允許的,但不能實現流程跳轉功能,從代碼精簡的角度來看,有標簽段而沒有goto語句,則此標簽是多余的,可以精簡掉;
  2、若有多個標簽段,則需要注意標簽段之間是否需要添加合適的退出語句來終止程序繼續向下執行,這是很多新手很容易犯錯的地方,需要謹慎。以上面這段代碼為例,如果去掉:A和:B之間的exit語句,那么,當輸入字母A之后,結果將同時顯示"您輸入的字母是A"和"您輸入的字母是B"這兩行內容,而保留exit語句將只會在顯示"您輸入的字母是A"后,按任意鍵推出批處理程序,因為批處理是自上而下逐行執行的,即使用goto語句跳轉之后,在新的位置上,這一執行流程仍然會保持,直到碰上另一個流程跳轉語句,執行過程并不會在兩個標簽段之間自動終止。
  3、標簽名只可以使用常量,而不能使用變量;
  4、若有同名的標簽段,將執行位于最頂層的標簽段,其后的標簽段是否得到執行,將視具體的情況加以處理。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品免费视频大全 | 久久精品视 | 精东粉嫩av免费一区二区三区 | 成人国产精品久久久 | 日本不卡一区二区 | 日本精品不卡 | 久草视 | 精品国产一区二区三区久久影院 | 人人草视频在线观看 | 亚洲成人精品av | 日韩欧美手机在线 | 亚洲女人天堂色在线7777 | 欧美性生活视频 | 欧美日韩高清在线 | 午夜一级 | 久久之精品 | 黑人巨大精品 | 午夜精品视频 | 太子妃好紧皇上好爽h | 黄色片在线免费观看 | 欧美国产日韩视频 | 精品久久久久久亚洲综合网站 | 乱xxxxx普通话对白 | 成人在线视频一区二区 | 91视频免费看网站 | www.亚洲一区 | 欧美一级免费 | 国产免费一区二区三区 | 日韩伦理视频 | 奇米影视奇米色777欧美 | 91精彩视频在线观看 | 国产精品视频久久 | 亚洲经典视频在线观看 | 日韩一区二区精品视频 | 精品欧美一区二区精品久久久 | 黄色小视频在线免费观看 | 国产欧美综合一区二区三区 | 九九热九九| 国产精品久久久久久久久久妞妞 | 亚洲精品美女在线观看 | 女人第一次久久久www |