共用方式為


警告 C6289

不正確的運算符:對的互斥 || 一律是非零常數。 您打算改用 && 嗎?

備註

這個警告表示,在測試表達式中,變數會測試為不相等的兩個不同常數。 結果取決於任一條件為 true,但一律會評估為 true。

此問題通常是因為使用 || 來取代 &&,但也可能是因為使用 != 預定的位置 == 所造成。

程式碼分析名稱:MUTUALEXCLUSIONOVERORISTRUE

範例

下列程式代碼會產生此警告:

void f(int x)
{
  if ((x != 1) || (x != 3))
  {
    // code
  }
}

若要更正此警告,請使用下列程序代碼:

void f(int x)
{
  if ((x != 1) && (x != 3))
  {
    // code
  }
}

/* or */
void f(int x)
{
  if ((x == 1) || (x == 3))
  {
    // code
  }
}