The Jargon File (version 4.4.7, 29 Dec 2003):
precedence lossage
 /pre's@?dens los'@j/, n.
    [C programmers] Coding error in an expression due to unexpected grouping of
    arithmetic or logical operators by the compiler. Used esp. of certain
    common coding errors in C due to the nonintuitively low precedence levels
    of &, |, ^, <<, and >> (for this reason, experienced C programmers
    deliberately forget the language's baroque precedence hierarchy and
    parenthesize defensively). Can always be avoided by suitable use of
    parentheses. LISP fans enjoy pointing out that this can't happen in their
    favorite language, which eschews precedence entirely, requiring one to use
    explicit parentheses everywhere. See aliasing bug, memory leak, memory
    smash, smash the stack, fandango on core, overrun screw.
The Free On-line Dictionary of Computing (30 December 2018):
precedence lossage
   /pre's*-dens los'*j/ A misunderstanding of operator
   precedence resulting in unintended grouping of arithmetic or
   logical operators when coding an expression.  Used
   especially of mistakes in C code due to the nonintuitively
   low precedence of "&", "|", "^", "<<" and ">>".  For example,
   the following C expression, intended to test the least
   significant bit of x,
   	x & 1 == 0
   is parsed as
   	x & (1 == 0)
   which is always zero (false).
   Some lazy programmers ignore precedence and parenthesise
   everything.  Lisp fans enjoy pointing out that this can't
   happen in *their* favourite language, which eschews precedence
   entirely, requiring one to use explicit parentheses
   everywhere.
   [Jargon File]
   (1994-12-16)