If/Else 逻辑流程

If/Else Logical Flow

如果我有类似的东西:

if (n % 10 == 8 && (n/10) % 10 == 8) count = count + 2;
else if (n % 10 == 8) count++;

基本上,如果条件 ab 成立,那么就做点什么。如果只有条件 a 成立,则执行其他操作。最好的逻辑流程是什么?

// check the condition a
if (n % 10 == 8)
{
    // check the condition b
    if ((n/10) % 10 == 8))
    {
        count = count + 2;
    }
    // only condition a took place
    else
    {
        count++;
    }
}

对于尽可能短的代码(尽管以成本 的可读性),您可以使用三元 op as

count += (n % 10) == 8 ? ((n/10) % 10 == 8 ? 2 : 1) : 0;