if-else语句中的条件被错误地计算

1 c c++ if-statement return conditional-statements

我在我的一个函数中有类似的东西,它返回false.

if ((X = ax && Y == ay) || (X == bx && Y == ay) || (X == cx && Y == ay) || (X == ax && Y == by) || (X == cx && Y == by) || (X == ax && Y == cy) || (X == bx && Y == cy) || (X == cx && Y == cy))
    return true;
else
    return false;
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用相同的参数调用该函数,但仅将代码更改为此函数,则返回true.

if (X == bx && Y == ay)
    return true;
else
    return false;
Run Code Online (Sandbox Code Playgroud)

为什么会这样?第二个代码中的条件是第一个代码中的条件之一,所以如果其中一个条件为真,它应该返回true,我是对的吗?我希望第一个条件返回true

Ern*_*ill 5

在长条件开始附近的"="右边需要是"=="!您正在为X分配一个新值,而不仅仅是测试它,这导致所有其他测试失败.