When it comes to iterative development, I want code to compile as quickly as possible. When my code segfaults, I want to be provided debug information so I can more quickly fix the problem. The Tiny C Compiler -- TCC -- accomplishes both of these things, and I'm surprised I don't see it used more often.

Production-grade compilers such as GCC and Clang are good for compiling optimized code, but for the actual development process, I have yet to find anything as good as TCC. TCC can also run code directly with the -run flag, which is really cool and really useful. It's not perfect, personally I would like if TCC was capable of producing more detailed error messages, and as many warnings and errors that a compiler like GCC can. But all in all, I'd recommend any C programmer give TCC a shot.

Footnote: TCC is only entirely C89 compliant, though it is almost entirely C99 compliant and even includes some C11 features. However, don't expect GNU extensions or less portable language constructs to work. This isn't a problem for me because C code shouldn't make use of any of those things anyway (if possible).