C programmers commonly make errors regarding the precedence rules of C operators due to the unintuitive low-precedence levels of &
, |
, ^
, <<
, and >>
. Mistakes regarding precedence rules can be avoided by the suitable use of parentheses. Using parentheses defensively reduces errors and, if not taken to excess, makes the code more readable.
Section 6.5 of the C Standard [ISO/IEC 9899:2011] Standard defines the precedence of operation by the order of the subclauses.
...