Привет всем, в следующем коде, каков должен быть результат d после второго выражения?Вопрос о компиляторе C#?
int d = 1;
d += d++;
Можно было бы предположить, d является 3 впоследствии, но одинарный приращение d ++, кажется, не вступит в силу и д сохраняет значение 2.
Есть ли название этой ошибки? Он существует для других компиляторов, поддерживающих унарное приращение, например C#?
Запрашиваемая почему, или даже если компилятор не так довольно часто неправильный вопрос. Спросить, почему это происходит, вероятно, правильный вопрос. Сегодняшний компилятор C# был протестирован с помощью всего лишь небольшого * тщательного тестирования и, как правило, заслуживает сомнений. – Dinah
Не уверен, что это ошибка, я бы подумал, что ответ будет равен 3, но значение d's, если оценивается в postfix ++, равно 1, поэтому ответ равен 2, или оператор вычисляется на? – kenny
это не ошибка, это особенность :) – idursun