The grammatical restrictions of C language are not strict,for example,typesetting alignment is not required,an array subscript out of bounds is not a compiling problem,and there are no run-time errors.Despite the flexibility,it also makes programs prone to defects.It is necessary for both beginners and experienced programmers to learn and study the defects of C language so as to enhance the robustness and maintainability of software.This paper gives some examples of common traps,which can help C users to improve code quality.