C language traps and defects