case 的執行過程:
-
計算 case expression,只計算一次,然后按照代碼順序從上向下和 case item 逐個比較
-
比較過程中,如果有 default 分支,則暫時先忽略
-
如果有某個 item 和 expression 匹配,則執行此 item 下的語句
-
如果匹配失敗,有 default 分支,則執行該 default 分支
-
如果匹配失敗,沒有 default 分支,則終止
這個按照順序比較的過程就是可能導致 priority encoder 的原因
case 的執行過程:
計算 case expression,只計算一次,然后按照代碼順序從上向下和 case item 逐個比較
比較過程中,如果有 default 分支,則暫時先忽略
如果有某個 item 和 expression 匹配,則執行此 item 下的語句
如果匹配失敗,有 default 分支,則執行該 default 分支
如果匹配失敗,沒有 default 分支,則終止
這個按照順序比較的過程就是可能導致 priority encoder 的原因
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。