C6281
警告 6281 - 运算顺序不正确: 关系运算符的优先级高于位运算符
此警告意味着运算符的优先级可能有误。这可能产生错误的结果。应当检查优先级并使用括号来阐明需要的优先级。关系运算符 (<, >, <=, >=, ==, != ) 的优先级高于按位运算符 (& | ^)。
示例
下面的代码生成此警告:
#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...
}
}