Здравствуйте, Посторонним В., Вы писали:
ПВ>Вместо ПВ>SHRT_MAX + 1 следовало читать SHRT_MAX ПВ>и соответственно ПВ>вместо INT_MAX + 1 следовало читать INT_MAX
ПВ>голова дурная уже в час ночи ПВ>но как я понял от этого ничего не поменяется: все равно будет в обоих случаях будет UB
Общий итог — не поменяется. Просто все те же эффекты теперь переместятся от инициализаций к инкрементам.
В случае с 'i' мы опять получим неопределенное поведение на инкременте '++i' по тем же причинам.
В случае с 's' мы опять получаем либо неопределеное поведение (если диапазон 'short' совпадает с диапазоном 'int'), либо результат, определяемый реализацией (в противном случае). По тем же причинам.
Т.е. конкретного ответа в общем случае по-прежнему нет.