| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > префиксный инкремент в С++ |
| Автор: LiRienko 11.5.2015, 14:09 | ||
ну почему 10? )) у меня получается 9 и все...
Распишете пошагово, пожалуйста: a = ++variable + 1 + ++variable * 2; |
| Автор: NightmareZ 11.5.2015, 14:17 |
Согласно Стандарту, это UB (Undefined Behavior, неопределённое поведение), а следовательно результат этого выражения может зависеть от компилятора, операционки и фазы луны. Вобщем, почему так делать нельзя, читай тут: http://alenacpp.blogspot.co.il/2005/11/sequence-points.html |
| Автор: LiRienko 11.5.2015, 14:50 |
| на другом форуме не ответили иначе и в общем понятно стало: a = ++variable + 1 + ++variable * 2; 1) ++variable - дает variable = 2 2) ++variable вторая - дает variable = 3 3) variable * 2 дает 2*3=6 4) 3+1+6 дает 10 |
| Автор: NightmareZ 11.5.2015, 14:53 |
На другом форуме тебе ответили неправильно люди, которые не разбираются в вопросе. |