AdLint is an open source and free source code static analyzer.
It can point out unreliable or nonportable code fragments, and can measure various quality metrics of the source code.
For part of use cases, see screenshots.
It (currently) can analyze source code compliant with ANSI C89 / ISO C90 and partly ISO C99.
AdLint is written in Ruby. So, it is available for Windows, Mac OS X, GNU/Linux, FreeBSD and any other platforms supported by Ruby.