C++, 285 non-white space characters.
http://codepad.org/j8iAL9Mw
It outputs correct in GCC and VS.
I slimmed a few characters but found a difference in order of operations between VS and GCC and left those out.
The codepad site didn't compile C++11 so that added a few characters back on.
Previous thread.
(http://www.gamedev.net/topic/645151-99-bottles-of-beer-challenge-with-least-amount-of-characters/)
Interesting seeing how other languages do the same job in less.
From a scan the previous _correct_ output C++ attempt was 314 non-whitespace characters.
Any C++ people want to attempt improving on this? :-)