C's preprocessor means C code can often do interesting tricks, such as the X macro:
http://www.drdobbs.com/the-new-c-x-macros/184401387
There are tons of other interesting uses for macros. Obviously I'd rather a language had safer equivalents to a C preprocessor.