一个case紧接的条件表达式只能是一个编译期确定的整型常量表达式。case和这个常量表达式组成一个标签,这个表达式是当标号用的,所以必需在编译期确定。
case标签本身不会被执行。一个case标签后可以接零条或多条语句(可以用大括号组成一条复合语句,但不必要)。遇到break;时控制流跳出switch。
====
[原创回答团]
是啊,要确定值的表达式,根据表达式的值选择相应的case执行。
表达式的值一定要为确定类型,例如整型,字符型(其实也可以看做是整形),还可以使用枚举类型。那些float,double的值就不行了。
不是,可以有多条语句,但是要以break;语句结束,例如:
switch (a)
{
case 1: b=a+c;
printf("%d",b);
break;
case 2: b=a*c;
printf("%d*%d=%d",a,c,b);
break;
}
非常同意四楼的
可以有多个