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

时间:2011-11-19 19:50:03

标签: c++

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

我试过了:

if (A, B, C == 'X' || A, B, C == 'O') 
  {
    //Do whatever
  }

但它不起作用。这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:15)

if((A == 'X' || A == 'O') && A == B && B == C)
{
    // Do whatever
}

答案 1 :(得分: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')) { ... }

答案 2 :(得分:0)

只需将它们分开并逐一测试:

if (A == 'O' && B == 'O' && C == 'O' || A == 'X' && B == 'X' && C == 'X')
    // etc