Re: каждый раз, когда вы пишете i++ + ++i...
От: watchmaker  
Дата: 18.06.14 20:14
Оценка:
Здравствуйте, Кодт, Вы писали:

К> где здесь чёрный ящик.

  тут
i*1000000000 — переполнение int — UB.

Так, например, в эксперименте с gcc и с INT_MAX == 231-1, компилятор вполне разумно считает, что без переполнения i не может быть больше 2. А раз 2 < 10, то и выход по условию (i < 10) невозможен, так что его и проверять не стоит. Впрочем другие компиляторы по другому чудят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.