共用方式為


C6281

警告 6281: 不正確的作業順序: 關係運算子的優先順序高於位元運算子

這個警告表示可能發生運算子優先順序 (Operator Precedence) 錯誤。 這可能會產生不正確的結果。 您應檢查優先順序,並使用括號來釐清目的。 關係運算子 (<、>、<=、>=、==、!=) 的優先順序高於位元運算子 (& | ^)。

範例

下列程式碼將產生出這個警告:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if (FORMAT & TYPE != input)
  {
    // code...
  }
}

下列程式碼會使用括號來更正這個警告:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if ((FORMAT & TYPE) != input)
  {
    // code...
  }
}

請參閱

參考

編譯器警告 (層級 3) C4554