如何检查多个变量是否等于相同的值?

13 c++

如何比较多个项目?例如,我想检查所有变量A,B和C是否等于char'X'或者所有三个都等于'O'.(如果其中两个是X而一个是O则应该返回false.)

我试过了:

if (A, B, C == 'X' || A, B, C == 'O') 
  {
    //Do whatever
  }
Run Code Online (Sandbox Code Playgroud)

但它不起作用.做这个的最好方式是什么?

Dan*_*ani 16

if((A == 'X' || A == 'O') && A == B && B == C)
{
    // Do whatever
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么复杂化一件简单的事情? (2认同)

Ste*_*sop 12

只是为了变化:

template <typename T, typename U>
bool allequal(const T &t, const U &u) {
    return t == u;
}

template <typename T, typename U, typename... Others>
bool allequal(const T &t, const U &u, Others const &... args) {
    return (t == u) && allequal(u, args...);
}

if (allequal(a,b,c,'X') || allequal(a,b,c,'O')) { ... }
Run Code Online (Sandbox Code Playgroud)

  • 喜欢这个,C ++ 11上的道具。 (2认同)