< jargon , programming > A misfeature of a system, especially a programming language or environment, that tends to breed bug s or mistakes because it both enticingly easy to invoke and completely unexpected and/or unreasonable in its outcome.
For example, a classic gotcha in C is the fact that
if (a=b) code;
is syntactically valid and sometimes even correct. It puts the value of "b" into "a" and then executes "code" if "a" is non-zero. What the programmer probably meant was
if (a==b) code;
which executes "code" if "a" and "b" are equal.
[ Jargon File ]
(1995-04-17)