民國111年 第1梯次 電腦硬體裝修丙級 學科
第42題
C/C++ 語言指令switch 的流程控制變數「不可以」使用何種資料型態?
題目
C/C++ 語言指令switch 的流程控制變數「不可以」使用何種資料型態?
- (1) double
- (2) byte
- (3) int
- (4) cha r
官方答案
(1) double
解析
switch 的流程控制運算式必須是整數型別(integral type),編譯器會將其值轉為整數後,再與各 case 標籤比對。int、char、byte、short、long 及列舉型別都屬於整數家族,因此可以放在 switch 括號內。double 是浮點數,帶有小數部分,無法精確對應到離散的 case 常數值,C/C++ 標準明文禁止,編譯時會出現型別錯誤。若真的要以浮點值判斷,應改用 if-else 搭配誤差範圍比較。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。