switch
总体注解:
程序控制按照expression的值跳转到相应的case标签处。然后程序流程继续通过所有剩余 的语句,直到再次由break语句重定向。expression和case标签必须都是整型值(包括类型char), 并且标签必须是常量或者完全由常量组成的表达式。如果没有与表达式值相匹配的case标签, 那么控制定位到标签为default的语句,如果它存在的话。否则,控制传递给紧跟着switch语句 的下一条语句。
总体注解:
程序控制按照expression的值跳转到相应的case标签处。然后程序流程继续通过所有剩余 的语句,直到再次由break语句重定向。expression和case标签必须都是整型值(包括类型char), 并且标签必须是常量或者完全由常量组成的表达式。如果没有与表达式值相匹配的case标签, 那么控制定位到标签为default的语句,如果它存在的话。否则,控制传递给紧跟着switch语句 的下一条语句。
格式:
switch (.expression)
{
case labell: statementl /* 使用 break 跳至结尾处
case label2: statement2 default: statements
}
可以存在两个以上的标签语句,并且default语句是可选的。
例如:
switch (choice)
{
case 1:
case 2:
printf ("Darn tootin'!\n");
break;
case 3:
printf ("Quite right!\n"):
case 4:
printf ("Good show!\n"):
break:
default:
printf ("Have a nice day.\n_):
}
如果choice为整型值1或2,則打印第一条消息。如果它的值为3,则打印第二条和第三 条消息(因为在case 3后没有break语句,所以流程继续到随后的语句)。如果它的值为4, 则打印第三条消息。对于其他值,仅打印最后一条消息。