如何比较多个项目?例如,我想检查所有变量A,B和C是否等于char'X'或者所有三个都等于'O'。 (如果其中两个是X而一个是O则应该返回false。)
我试过了:
if (A, B, C == 'X' || A, B, C == 'O')
{
//Do whatever
}
但它不起作用。这样做的最佳方式是什么?
答案 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