Something kinda like some of the ones in that list happened to me a while ago, but in C# rather than C. I got screwed by short circuiting (where, if you have an && and the first operand is false, the 2nd doesn't get evaluated, similarly if you have an || and the first operand is true). I take great pride in squeezing as much code into one line of code as possible. So, in "normal" code, what I wanted to do was this:
//name is a string and explorable and printable are bools
printable=name[0]!='!';
explorable=name[0]=='*';
if(explorable || !printable) name=name.Substring(1);
so basically, you have some string of text which is either just a name (which, by default, is printable, but not explorable), but if it's preceded by an exclamation mark, it becomes not printable, and, if it's preceded by an asterisk, it becomes explorable.
However, I was not content doing in three lines of code what I thought I could do in one, so I tried shortening it to this:
if(explorable=name[0]=='*' || !(printable=name[0]!='!')) name=name.Substring(1);
Unfortunately, this meant that if the first char were an asterisk, then then first operand of the || would be true, so the second one wouldn't be evaluated, so printable wouldn't be assigned. I spent forever trying to figure it out...