Я знаю, что эта тема была немного избита до смерти на SO, но я все еще немного смущен ситуацией, показанной ниже, и несколько человек, похоже, согласились, что это было правильно.
Я понимаю, что вы не можете изменить/использовать измененную переменную более одного раза без промежуточной точки последовательности, если это не будет неопределенным поведением. Я думал, что внутри цикла for все i != 0;
, i < n;
и i--
были отдельными выражениями, оцениваемыми в известное время и разделенными точками последовательности (поскольку они являются полными выражениями).
Почему это может привести к неопределенному поведению?
взято с форума: http://www.frihost.com/forums/vt-48979.html
for (i != 0;
не имеет никакого смысла. Вы проверяете, не равно лиi
нулю, а затем выбрасываете результат. Почему вы хотите это сделать? - person fredoverflow   schedule 16.02.2012