C++ switch 语句:对案例进行分组,并针对每个案例给出特定的说明



请考虑以下代码:

int main()
{
const int a = 9;
switch (a)
{
case 9:
// since a is 9, this ("good") should be printed
std::cout << " good " << std::endl;
case 4:
// since a is not 4, this ("bad") should not be printed
std::cout << " bad " << std::endl;
// for both a==9 or a==4, this should be printed
{
std::cout << " always print me " << std::endl;
break;
}
}
}

然后,结果应该是:

good
always print me

但是,这是行不通的。有没有办法在C++做到这一点?谢谢!

除了使用goto之外,没有办法在switch语句中执行您要求的操作:

#include <iostream>
int main()
{
const int a{ 9 };
switch (a)
{
case 9:
std::cout << "goodn";
goto foo;
case 4:
std::cout << "badn";
goto foo;
foo:
std::cout << "always print men";
break;
}
}

最新更新