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

How can I check whether multiple variables are equal to the same value?

本文关键字:是否 于相同 变量 何检查 检查      更新时间:2023-10-16

如何比较多个项目?例如,我希望检查所有变量A、B和C是否都等于字符"X",或者所有三个变量都等于"O"。(如果其中两个是X,一个是0,它应该返回false。)

我试着:

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

,但它没有工作。最好的方法是什么?

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

只是为了多样化:

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')) { ... }

将它们分开并逐一测试:

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