我正在阅读 Bjarne 的《使用 C++ 编程和原理》。
我遇到了以下有关 switch 的详细信息:
You can use several case labels for a single case.
You cannot use the same value for two case labels.
我想我清楚地理解了2.一。应该是指:
switch (a) {
case 'c':{//some code}
case 'c':{//some (different) code}
}
不合法。
但是,我不确定第一个是否意味着,如果案例 1 和案例 2 等等不同,那么我可以有任意数量的案例(当然它们是常量表达式)或者它意味着我可以有任意数量的案例,但其中一些案例做同样的事情。
我发现了一个类似的问题: multiple label value in C switch case
我的解释对吗?如果不是,我遗漏或弄错了什么?
最佳答案
这是允许的:
switch ( expression )
{
case 1:
case 2:
case 3:
//some code
break;
//...
}
这是不允许的:
switch ( expression )
{
case 1:
//some code
break;
case 1:
//some other code
break;
//...
}
关于c++ - 对两个案例标签使用相同的值与对单个案例使用多个案例标签有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57508474/