3. 减少表达式对C语言运算符优先级的依赖性
摘要:在更多情况下,应该用括号() 来保证运算顺序,而不依赖于C语言默认的运算符优先级。分析下面程序:if( reg & BUSY_MASK == 0) { do something;}该程序的本意是读状态寄存器的值,判断BUSY位是否为0.但是,由于判断运算符“==”的优先级高于位操作符“&”,实际的判断表达式变成了“( reg & (BUSY_MASK == 0) !=0)”,所以应该加入括号以保证判断表达式的正确性。在程序中,容易出现混淆的地方,也应该用括号来组织语句,如:if( a && b || c && d)应该改为:if( (a
阅读全文
posted @ 2011-02-25 17:59
浙公网安备 33010602011771号