C++中如何让一个case包含多种情况
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中如何让一个case包含多种情况相关的知识,希望对你有一定的参考价值。
上面的写法本身就有问题,要想用一个语句处理多种case可以这样写:switch(a)case
1:
case
2:
case
3:
printf("我处理了a等于1,2,3的情况\n");
break;
case
4:
break;
default:
break;
而对于提问者的写法,机器是这样理解的:假设a=0,那么由于表达式
1<=a&&a<=3是一个bool表达式,所以当a=0时,该bool表达式是1<=a&&a<=3的值为“假”,在C语言中就是0,正好与a的只相同,所以程序会执行这个case语句后面的代码,很明显这与提问者的本意是矛盾的;因此要想用一个语句处理多个case只能按照刚才给出的事例代码那样写。 参考技术A 一个case里面再嵌套if语句就行了。case
1<=a&&a<=3:这是不行的。case后必须跟一个确切的数值,所以大多数情况下大家都是用几个if语句并列使用,case不是很有用。如果你想让a=1,2,3的时候达到同一个结果,可以case
1:case
2:case
3:……;break;这样就行了。 参考技术B case后面必须跟常数表达式,不能使用逻辑判断条件。不过你可以把多个case放在一起用,例如
case
1:
case
2:
case
3:
执行操作
break;本回答被提问者采纳
以上是关于C++中如何让一个case包含多种情况的主要内容,如果未能解决你的问题,请参考以下文章