警告 C6281

运算顺序不正确: 关系运算符的优先级高于位运算符

备注

此警告指示运算符优先级中可能存在的错误,这种错误可能会生成不正确的结果。 应检查该优先级并使用括号来阐明意向。 关系运算符(<><=>===!=)的优先级高于位运算符(&|^)。

代码分析名称:BITWISERELATIONPRECEDENCEERROR

示例

以下代码将生成此警告:

#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