程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> switch語句的“不准遍歷”

switch語句的“不准遍歷”

編輯:C語言基礎知識

C和C++語言允許switch語句中case標簽後不出現break語句從而可以繼續執行下面case後的語句。但是這往往由於程序員忘記寫break語句而成為一個難以發現的漏洞,所以C#不允許這樣,它要求每個標簽項後使用break語句或跳轉語句goto,即不允許從一個case自動遍歷到其他case,否則編譯時報錯,即使是default語句後也不例外。


這個特定決定了三個特點:

a)我們可以任意排列switch語句中的case項而不會影響switch語句的功能。

b)如果要像c/c++那樣在執行完後繼續遍歷其他的語句,只要在case語句後加上以下兩條跳轉語句中的一條即可:goto case label;goto default。

3)除了goto外,throw和return也可以。


C#switch語句與C/C++另一個不同點是C#同VB一樣把字符串常量當作常量表達式來使用,但C/C++卻不支持。所以在C#中,case “OK”:這樣的形式也是支持的。

轉自:動態網制作指南 www.knowsky.com
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved