SWTICH语句case后面只能接一个表达式吗

2025-03-24 04:28:10
推荐回答(5个)
回答1:

一个case紧接的条件表达式只能是一个编译期确定的整型常量表达式。case和这个常量表达式组成一个标签,这个表达式是当标号用的,所以必需在编译期确定。
case标签本身不会被执行。一个case标签后可以接零条或多条语句(可以用大括号组成一条复合语句,但不必要)。遇到break;时控制流跳出switch。
====
[原创回答团]

回答2:

是啊,要确定值的表达式,根据表达式的值选择相应的case执行。
表达式的值一定要为确定类型,例如整型,字符型(其实也可以看做是整形),还可以使用枚举类型。那些float,double的值就不行了。

回答3:

不是,可以有多条语句,但是要以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;
}

回答4:

非常同意四楼的

回答5:

可以有多个