C++"OR"运算符

Jaa*_*nus 4 c++ programming-languages codeblocks

这可以以某种方式完成吗?

if((a || b) == 0) return 1;
return 0;
Run Code Online (Sandbox Code Playgroud)

所以就像...如果一个OR b等于零,那么...但它对我不起作用.我的真实代码是:

bool Circle2::contains(Line2 l) {
    if((p1.distanceFrom(l.p1) || p1.distanceFrom(l.p2)) <= r) {
        return 1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*aos 15

你需要写完整的表达式:

(a==0)||(b==0)
Run Code Online (Sandbox Code Playgroud)

在第二个代码中:

if((p1.distanceFrom(l.p1)<= r) || (p1.distanceFrom(l.p2)<=r) )
    return 1;
Run Code Online (Sandbox Code Playgroud)

如果你这样做((a || b) == 0),这意味着"是逻辑或的ab等于0,而这不是你想要的这里.

并且作为旁注:if (BooleanExpression)return true; else return false模式可以缩短为return BooleanExpression;