Q:

Which version of C should I learn?

It looks like K&R "C Programming Language (2nd Edition)" covers ANSI C, but another book that I'm starting (Stephen G. Kochan "Programming in C") says that it uses C99. 
I'm coming from a C#/JavaScript/Python/PHP/Java background and looking to round out my skills.  
I'm currently using GCC, but I'm curious about Clang. Which version is used more in new and existing code? Does it even matter, or should I learn both?

A:

Learn C89 first, then learn everything that is different between C89 and C99.
A good book covering both is C Programming: A Modern Approach.
I think C89 gets used the more; GNU uses it and then, most compilers don't even support C99 (fully). GCC supports C99 only partially. Myself, the only C99 features I use are variable length arrays and single-line comments. If you want maximum portability, choose C89 for your projects, but it is still important to at least be aware of C99's features.

A:

I think you are confusing C language standards and specific extensions offered by compilers.
As for standards, I would learn the latest you can use to produce running code.
As for compiler, I would try to stay away from extensions as long as possible. Consider compiling in a highly standard-compliant mode (e.g. -pedantic for gcc and clang). This makes your code more portable and helps you understand the language better.

