在c/c++中,有一个多分支语句,形式为:
switch (表达式)
{case 常量值1:
分支语句1;
break;
case 常量值2:
分支语句2;
break;
case 常量值3:
分支语句3;
break;
............
default:
分支语句n;
}
该语句有两点需要格外注意,一是case后是常量值,不是变量,也不能是表达式。
二是只进行一次判断,一旦进入分支,遇到以后的case也不会进行判断,而是会依次执行下去。
所以,如果没有break语句跳出该分支,则程序将从某个分支点进入,并将其后每个分支都执行一遍。
实际上,switch case 语句有点类似于goto语句,“switch (表达式1)”如同“goto 表达式1的值”。“case 常量”如同程序的常量标记点。switch将表达式1的值计算出来过后,再寻找对应的标记点进入分支语句。
}