PRECEDENCE LOSSAGE


Meaning of PRECEDENCE LOSSAGE in English

/pre's*-dens los'*j/ A C coding error in an expression due to unintended grouping of arithmetic or logical operators. Used especially of certain common coding errors in C due to the nonintuitively low precedence levels 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 the compiler would probably evaluate at compile-time to

(x & 0)

and then to 0.

Precedence lossage can always be avoided by suitable use of parentheses. For this reason, some C programmers deliberately ignore the language's precedence hierarchy and parenthesise defensively. 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.

Other sources of bug s include aliasing bug , memory leak , memory smash , smash the stack , fandango on core , overrun screw .

[ Jargon File ]

(1994-12-16)

FOLDOC computer English dictionary.      Английский словарь по компьютерам FOLDOC.