Можливі дублікати:
Чи можна пояснити ці невизначені поведінки (i = i ++ + ++ i, i = i ++, і т.д.…)
Не визначені точки поведінки та послідовності (C ++ запитання щодо поширених запитань)
У C та C ++ як вираз x+++++y
проаналізовано? Як x++ ++ +y
або як x++ + ++y
?
Відповіді:
11 за відповідь № 1x+++++y
розбирається як x ++ ++ + y
і не так x ++ + ++ y
. Згідно з Принцип максимального Манка "маркер повинен продовжувати читати символи з вихідного файлу, доки додавання ще одного символу не призведе до того, що поточний маркер перестане мати сенс"
x++ ++ +y
не повинен компілювати (в C і C ++), оскільки оператор після збільшення ++
вимагає а lvalue
як аргумент і повертає rvalue
.