最初學到的 switch-case 用途是「多重選擇」,也就是說用來取代一連串的 if-else statement 對於一個變數的連續判斷,如以下的例子:
if (value == 0)
printf("Grade S\n");
else if (value == 1)
printf("Grade A\n");
else if (value == 2)
printf("Grade B\n");
else if (value == 3)
printf("Grade C\n");
else
printf("Grade D\n");
可以用 switch-case 取代成:switch (value) {
case 0:
printf("Grade S\n");
break;
case 1:
printf("Grade A\n");
break;
case 2:
printf("Grade B\n");
break;
case 3:
printf("Grade C\n");
break;
default:
printf("Grade D\n");
break;
}
基礎複習完了,- 在 switch-case 中宣告變數
- 在 switch 之下,case 之前
- 在 case 中宣告變數
- 不同 case 之間宣告相同名稱的變數
- 不只是 if-else 的替代品 (對於一個變數的連續判斷)
而接下來的討論皆引用 C98/99 的規格書,需要一點 language syntax 的概念。