Comman pitfalls
suggest changeMixing 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
Floating point literals are of type double by default
Recursive function missing out the base condition
Using character constants instead of string literals and vice versa
Passing unadjacent arrays to functions expecting real multidimensional arrays