我只是不明白如何在switch语句中使用布尔运算符
switch (expression) {
case > 20:
statements
break;
case < -20:
statements
break;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我不想要一个If()语句.
zne*_*eak 10
你不能.使用if() ... else ....
你想要的最接近的东西使用GCC扩展,因此是非标准的.您可以在case语句中定义范围而不仅仅是值:
switch(foo)
{
case 0 ... 20: // matches when foo is inclusively comprised within 0 and 20
// do cool stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
但是,您无法使用它来匹配某个值以下的任何内容.它必须在一个精确的范围内.Switches只能用于替换常量的比较运算符,并且不能用于除此之外的任何内容.
switch ((expression) > 20) {
case true:
statements
break;
case false:
default:
statements
break;
}
Run Code Online (Sandbox Code Playgroud)
什么..你想要一个案例超过1布尔?你可以做到这一点
int ii = ((expression) > 20) + 2 * ((expression) < -20);
switch (ii) {
case 1:
statements
break;
case 2:
statements
break;
}
Run Code Online (Sandbox Code Playgroud)
这个,IMO是非常糟糕的代码,但它是你要求的......
只需使用if语句,从长远来看,你会更好.
| 归档时间: |
|
| 查看次数: |
10072 次 |
| 最近记录: |