1. printf may malloc so don't use it in an out of memory situation. Though I think this problem is vanishingly unlikely these days.
2. printf of floats used to require linking to the math library on some platforms (-lm)
3. I am pathetically grateful for nice diagnostics you get when you use the wrong % formatter in more recent C compilers. This used to be a rich source of errors and non-portability.