单行比较C中的几个值

gro*_*bot 1 c syntax compare

例如,我们可能有一个if语句,想要检查一个变量是否等于4个不同的值,也许是这样的

    if(x == 1,2,3,4){ do something }
Run Code Online (Sandbox Code Playgroud)

在C中执行此操作的正确语法是什么?我知道逗号可以用其他语言编写,我似乎无法想象如何不检查几个不同.我能想到的唯一另一件事就是不得不做

    if((x == 1)||(x ==2)
Run Code Online (Sandbox Code Playgroud)

但我无疑会有超过4个,这会很快烦人.我没有看到这样的任何其他问题,如果你知道,请指出我.

mch*_*mch 5

如果值是常量,我会用开关来做:

switch(x)
{
    case 1:
    case 2:
    case 3:
    case 4:
        //do something
        break;
}
Run Code Online (Sandbox Code Playgroud)

如果数字是连续的,你可以使用 if (x >= 1 && x <= 4)