版面书写R-1-2-5强制

禁止比较表达式中的运算项未使用括号

在比较表达式中,运算项未使用括号可能导致二义性和错误的逻辑判断。 例如,表达式 "x & y == z" 可能被误解为 "(x & y) == z" 或 "x & (y == z)"。 为了避免这种情况,建议在比较表达式中使用括号来明确运算顺序。

运算项未使用括号
test.c
1int is_odd(unsigned x)
2{
3 return x & 0x01 == 0x01;
禁止比较表达式中的运算项未使用括号 [gjb8114-r-1-2-5]
4}
运算项使用括号
test.c
1int is_odd(unsigned x)
2{
3 return (x & 0x01) == 0x01;
4}