Mixing signed and unsigned integers in arithmetic operations
Macros are simple string replacements
Forgetting to copy the return value of realloc into a temporary
Forgetting to allocate one extra byte for 0
Forgetting to free memory memory leaks
Mistakenly writing instead of when comparing
Adding a semicolon to a define
Newline character is not consumed in typical scanf call
Checking logical expression against true
Undefined reference errors when linking
Doing extra scaling in pointer arithmetic
Multi-line comments cannot be nested
Comparing floating point numbers
Ignoring return values of library functions