c++ - C语言switch语法的一个问题
怪我咯
怪我咯 2017-04-17 14:41:23
0
2
551

请问图片当中这个问题,为什么答案是C呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
Peter_Zhu

switch中的條件必須是確定的,相信你所接觸的絕大多數語言應該都是如此吧。
也就是說,switch條件之間應該是不能產生歧義的。
在D中,條件1和條件c就可能產生歧義,因為c為變量,所以當c等於1時就可能造成程式出現不可預測的情況。所以編譯器乾脆就禁止出現這種情況。 (雖然這裡c賦值為2,但是由於不是常數,所以編譯器無法保證運行時變數是否會被改變,所以仍然認為它會產生歧義)
簡單的說,就是switch條件裡,是不允許出現變數的。 (這裡變數是指能夠改變此條件判斷結果的量,在swift中,允許將條件匹配值賦值給變數的語法)

刘奇

簡單來講,因為A B D不對

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!