C operator precedence, from highest to lowest: +---------------------------+-----------------+ | DESCRIPTION | REPRESENTED BY | +----+---------------------------+-----------------+ | 0 | Parenthesis | () [] | +----+---------------------------+-----------------+ | 1 | Structure Access | . -> | +----+---------------------------+-----------------+ | 2 | Unary | ! ~ ++ -- - * & | +----+---------------------------+-----------------+ | 3 | Multiply, Divide, Modulus | * / % | +----+---------------------------+-----------------+ | 4 | Add, Subtract | + - | +----+---------------------------+-----------------+ | 5 | Shift | >> << | +----+---------------------------+-----------------+ | 6 | Relational | < > <= >= | +----+---------------------------+-----------------+ | 7 | Equal, Not Equal | == != | +----+---------------------------+-----------------+ | 8 | Bitwise AND | & | +----+---------------------------+-----------------+ | 9 | Bitwise XOR | ^ | +----+---------------------------+-----------------+ | 10 | Bitwise OR | | | +----+---------------------------+-----------------+ | 11 | Logical AND | && | +----+---------------------------+-----------------+ | 12 | Logical OR | || | +----+---------------------------+-----------------+ | 13 | Ternary | ? : | +----+---------------------------+-----------------+ | 14 | Assignment | = += -= etc | +----+---------------------------+-----------------+ | 15 | Comma | , | +----+---------------------------+-----------------+