int data = 0x0;
if(data & 0x2 == 0)
{
printf("1\n");
} else
{
printf("2\n");
}
这段代码太简单了,简单到不需要特别在意。
但是一不小心就踩坑了。
==
的优先级比 &
大,所以运行出来的是“2”。
1
gauzung 87 天前
我没有太关心运算符优先级, 但是写到这种代码的时候, 都会留点心加括号, 一是确保结果是我所想的(不管你优先级多大, 都不可能比括号大), 二是增加代码可读性
|
2
tool2dx 87 天前 via Android
clang 会报警告,该更新编译器了。
|