C Pre-Processor Magic The C Pre-Processor (CPP) is the somewhat basic macro system used by the C programming language to implement features such as #include and #define which allow very simple text-substitutions to be carried out at compile time. In this article we abuse the humble #define to implement if-statements and iteration. Before we begin, a disclaimer: these tricks, while perfectly valid