C語言中switch語句的case後面能否是一個關係表達式

hzc
發布: 2020-07-03 16:29:45
原創
6625 人瀏覽過

C語言中switch語句的case後面不能是一個關係表達式,case後面接的是一個常數表達式,CASE表達式的真假值判斷就會中止,而剩餘的WHEN子句會被忽略。

C語言中switch語句的case後面能否是一個關係表達式

不能,case後面是常數表達式。

要注意 CASE 表達式裡各個分支回傳的資料型別是否一致。某個分支回傳字元型,而其他分支回傳數值型的寫法是不正確的。

使用 CASE 表達式的時候,最容易出現的語法錯誤就是忘記寫 END 。雖然忘記寫時程式會回傳比較容易理解的錯誤訊息,不算多麼致命的錯誤。而執行時卻出錯的情況大多是由這個原因造成的。

C語言中switch語句的case後面能否是一個關係表達式

CASE表達式的執行結果是 NULL 。但不寫可能會造成"語法沒有錯誤,結果卻不對"這種不易追查原因的麻煩,所以寫上 ELSE 子句(即便是在結果可以為 NULL 的情況下)。

擴充資料

1、CASE運算式的真假值判斷就會中止,而剩餘的 WHEN子句會被忽略。為了避免造成不必要的混亂,使用 WHEN子句時要注意條件的排他性。

2、當case後的表達式的值與switch表達式的值相等時, 即執行對應case後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表達式的值與所有case後的常數表達式均不相同時,則執行default後的語句。

推薦教學: 《c語言教學

以上是C語言中switch語句的case後面能否是一個關係表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!