问号运算符的多个语句

用户名

我有两个变量

int a, b ;

a并且b可以有任何值从0-3并且应该有基于a和b的值,每个条件一两句。

我使用了嵌套开关:

switch(a)
{
    case go:
    {
        switch(b)
        {
            case go: {...}
            ...
            case write: {...}
        }
    }
    ...
    case 3:
    {
        ...
    }
}

我也有一个

enum

{
go = 0 ;
wait =1 ;
read = 2;
write =3 ;
}

我有一个很大的嵌套开关来检查所有4 * 4 = 16个条件

我想使用问号? :运算符来实现

就像是
(a=b==0) ? Do something ? Do something.

但是,在每种情况下我都需要执行多个语句。

我该如何使用呢?:三元运算符?

提前致谢

保罗·R

您可能需要考虑将4 x 4开关模块展平为单个16路开关:

#define SELECT(a, b) ((a) * 4 + (b))

int select = SELECT(a, b);

assert(a >= 0 && a < 4);  // sanity checking - make sure a and b are valid
assert(b >= 0 && b < 4);

switch (select)
{
case SELECT(0, 0): 
    // ...
    break;
case SELECT(0, 1): 
    // ...
    break;
case SELECT(0, 2): 
    // ...
    break;
case SELECT(0, 3): 
    // ...
    break;
case SELECT(1, 0): 
    // ...
    break;

// ...

case SELECT(3, 3): 
    // ...
    break;
}

请注意,这在C和C ++中都可以正常工作。无论abints还是enums ,它也都可以工作(请注意,您可以在SELECT宏中使用实际的枚举标签-无需使用文字常量)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

传递Javascript问号运算符多个语句?

来自分类Dev

SQL语句中的多个BETWEEN和LIMIT运算符

来自分类Dev

三元运算符中的多个语句

来自分类Dev

C ++用于使用逗号运算符的多个控制语句

来自分类Dev

+ !! if语句中的运算符

来自分类Dev

PHP if语句或OR运算符

来自分类Dev

多个运算符[]重载

来自分类Dev

Mongodb多个运算符

来自分类Dev

多个运算符[]重载

来自分类Dev

多个比较运算符

来自分类Dev

多个比较运算符?

来自分类Dev

php-问号冒号运算符的含义

来自分类Dev

php-问号冒号运算符的含义

来自分类Dev

使用逻辑运算符评估条件的多个If语句与单个语句

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

Python If语句中的运算符

来自分类Dev

JavaScript逻辑运算符&& in语句?

来自分类Dev

Revit语句中的运算符错误

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

嵌套if语句和“ &&”运算符

来自分类Dev

“ IN”语句中的“ CASE WHEN”运算符

来自分类Dev

运算符是语句的子集吗?

来自分类Dev

类型检查运算符语句的结果

来自分类Dev

if语句中的按位运算符

来自分类Dev

Javascript“ If”语句或“ &&”逻辑运算符

来自分类Dev

TSQL NOT运算符在where语句中

来自分类Dev

在Repeater中对if语句使用“ <”或“>”运算符

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

(+)=“ +等于”运算符在SQL语句中