Should I use ANSI C (C89)?

Viewed 9068

It's 2012. I'm writing some code in C. Should I be still be using C89? Are there still compilers that do not support C99?

I don't mind using /* */ instead of //.

I'm not sure about C89 forbids mixing declarations and code. I'm kind of leaning towards the idea that it's actually more readable to have all the declarations in one place, and if it isn't, the function is too long.

VLAs look useful but I haven't needed them yet.

Should I stick with C89 if I don't have a compelling reason not to? Are there other things I haven't considered?

4 Answers
Related