相关疑难解决方法(0)

检查多种可能性的相等性的简写

可能重复:
C++将一堆值与给定值进行比较

我需要在C++中检查for循环中的相等性,但是循环需要适用于x等于多种可能性.

例如,现在我有类似的东西:

if(x==a || x==b || x==c || x==d || x==e || x==f || x==g || x==h)
{
    //loop body
}
Run Code Online (Sandbox Code Playgroud)

但是随着我的数量,它看起来很乱,我想知道是否有一种简写方式说"if(x ==(其中任何一个))"或者如果将它们全部写出来是唯一的选择.

谢谢!

c++

8
推荐指数
2
解决办法
3631
查看次数

如何定义一个测试给定字符是否为元音的宏?

下面的代码片段没有给出编译错误,但它也没有给出预期的输出,虽然这可以用简单的if-else方式完成,但我想用宏来做.这c是一个字符变量.

#define VOWELS 'a' || 'e' || 'i' || 'o' || 'u' || 'A' || 'E' || 'I' || 'O' || '
if (c == VOWELS) {
   printf("vowel = %c\n", c);
}


Run Code Online (Sandbox Code Playgroud)

c macros

4
推荐指数
1
解决办法
193
查看次数

使用超过50个OR(||)优化if语句

好的,所以我正在做一些涉及键盘输入的东西.我现在有一个像这样的巨大功能:

return key == BB_KEY_SPACE ||
        key == BB_KEY_ZERO ||
        key == BB_KEY_ONE ||
        key == BB_KEY_TWO ||
        key == BB_KEY_THREE ||
        key == BB_KEY_FOUR ||
        key == BB_KEY_FIVE ||
        key == BB_KEY_SIX ||
        key == BB_KEY_SEVEN ||
        key == BB_KEY_EIGHT ||
        key == BB_KEY_NINE ||
        key == BB_KEY_A ||
        key == BB_KEY_B ||
        key == BB_KEY_C ||
        key == BB_KEY_D ||
        key == BB_KEY_E ||
        key == BB_KEY_F ||
        key == BB_KEY_G ||
        key == BB_KEY_H ||
        key == …
Run Code Online (Sandbox Code Playgroud)

c++ optimization if-statement

3
推荐指数
2
解决办法
221
查看次数

将变量与if语句中的值列表进行比较的更易读的方法是什么?

如何将变量与if语句中相同类型的值列表进行比较并使其可读且干净?

例如,我有以下内容,但有很多值,我想让它更具可读性.

if ((lst->type == 'p' || lst->type == 'x' || lst->type == 'X' ||
    lst->type == 'o' || lst->type == 'O' || (lst->type == 'd' ||
    lst->type == 'i' || lst->type == 'D'))
Run Code Online (Sandbox Code Playgroud)

c variables if-statement

-1
推荐指数
1
解决办法
49
查看次数

标签 统计

c ×2

c++ ×2

if-statement ×2

macros ×1

optimization ×1

variables ×1