Слишком сильное колдунство!
13 так-то, ничего сложного
Так читается код, но на практике результат зависит от компилятора.
С# Visual Studio i = 13;
Думаю, зависит от языка, и в каком порядке компилятор учитывает приоритет действий. Однако - в теории - прединкремент имеет чуть высший приоритет чем сложение, и имеем 6 + 7 = 13.
примерно так (выр1) +(выр2)
порядок вычисления примерно такой -> выр1 , выр2 , сумма или выр2, выр1, сумма, зависит от компилятора и стандарта
первый раз ++i=6, второй ++i=7, скажете сумма будет 6+7? но нет, компилятор, скорее всего, заменит выражение каким нибудь регистром - и реальное выражение будет из себя представлять не 6+7, а exx+exx, exx - естественно результат вычисления операций ++, т.е. в конце будет 14 - примерно так мне объясняли, и добавили в конце - ебаная оптимизация
порядок вычисления примерно такой -> выр1 , выр2 , сумма или выр2, выр1, сумма, зависит от компилятора и стандарта
первый раз ++i=6, второй ++i=7, скажете сумма будет 6+7? но нет, компилятор, скорее всего, заменит выражение каким нибудь регистром - и реальное выражение будет из себя представлять не 6+7, а exx+exx, exx - естественно результат вычисления операций ++, т.е. в конце будет 14 - примерно так мне объясняли, и добавили в конце - ебаная оптимизация
12, но тут, тайна я так понял кто этот код придумал, и почему этот человек все еще жив
зависит от компилятора. стандарт говорит - undefined behavior
Потому и жив, что никто не знает, что это именно он придумал.
Чтобы написать коммент, необходимо залогиниться