Not to forget #define struct union which will pack all struct members together. Gives me chills even to think about it...
#define memmove memcpy
#define strncmp memcmp
#define rand fork
#define free(x)
#define strerror(n) strerror((n)+1)
#define memset(addr, byte, len) memset(addr, ~(byte), len)Both of them would be a real pain to debug.