Никак не могу понять почему конструкции выдают разный результат, в зависимости от компилятора. Проверял на JS и Java, выдают одинаково верный результат (как я думаю):
JS:

Java:

Ссылка на пример Java:
goo.gl/HD223t
А вот результаты С++:
MSVCC 2015

cpp.sh (gcc 4.9.2)

ВТФ?