Цитата(Oldring @ May 12 2007, 10:23)

Я-то как раз понимаю, как компилятор получает такой результат....
Я тоже. Только это внутреннее дело компилятора, как он обрабатывает неправильные с точки зрения стандарта (определяющего
минимальные требования к компилятору) конструкции. То, что k=++i + ++i; компилятор имеет право не заморачиваясь на специальные анализы тупо на автомате разбирать и получать непредсказуемый результат это понятно. И никто никогда против этого не возражал.
То, что разработчики компиляторов имеют право не прикрываясь минимальными требования стандарта разбирать более сложные выражения, надеюсь не вызывает Вашего категорического непрятия? Впрочем, если и вызывает, то пожалуй с этим разработчики компиляторов могут не согласиться

.
Выражение k=++i + ++i; являсь совершенно диким, тем не менее поддается
однозначной разборке согласно основополагающим правилам операций и их приоритетов. Про трудности компиляции такого и _правильное_ решение стандарта
разрешить не заморачиваться с такой разборкой все ясно.
Цитата
Что касается "небрежно написанных компиляторов" - есть такая русская пословица, про зеркало.
Это не ко мне. Я не писал, не пишу и не буду писать подобных выражений, но тем не менее, если вдруг комилятор позволит себе не выдав предупреждение в таком выражении выдать значение отличное от 14, то это меня насторожит и приведет к некоторому недоверию к такому компилятору, поскольку он чего-то не поняв позволил себе меня не предупредить.
Цитата
Делать или нет специальный анализ выражения для генерации предупреждений в таких случаях - это выбор разработчиков компиляторов
Это их право. Только у меня тоже есть право

не использовать такие компиляторы

.
Поскольку сегодня выходной день, то я провел маленький тест используемых мною в повседневной жизни компиляторов.
OpenWatcom, GCC, Borland не возразили и выдали правильный результат.
IAR, VisualDSP - выдали предупреждение.
Все это с учетом того, что warnigs я всегда по максимуму активизирую и без оптимизации компиляцию не пользую.
Результат меня полностью удовлетворил - по поводу разборки этой дури у меня претензий к используемым мною компиляторам нет и с их разработчиками у меня коннсенсус

.
Цитата
Поэтому лучше так не пишите, а если пишете - то ничего не требуйте от компилятора.
К чему это
адресное обращение? Я призывал так писать???
P.S.
Пожалуй по четвертому кругу я больше не пойду изъясняться по проблемам k=++i + ++i;