title: Why should #ifdef be avoided in .c files?
body: <p>A programmer I respect said that in C code, <code>#if</code> and <code>#ifdef</code> should be avoided at all costs, except possibly in header files.  Why would it be considered bad programming practice to use <code>#ifdef</code> in a .c file?</p>