Вот часть кода, которая странно работает при отладке
public static void main(String[] args) { //Line-1
int a = 5; //Line-2
System.out.println(++a); //Line-3
} //Line-4
Когда я запускаю его в обычном режиме, он выдает результат как 6
, что правильно. Но во время отладки я установил точку останова на Line-3
, и в первый раз, когда я проверил значение ++a
, оно показало 6, в следующий раз это было 7,8,9...
Когда я завершил программу, она показала вывод как 10 в консоли. Почему это?
Эти решения C++ — поведение Eclipse отличается при отладке и запуске, Как работает оператор post Increment ++ во время инициализации не т дать какое-либо правильное представление.
a
снова и снова при каждой оценке. то есть оценка++a
имеет побочные эффекты и не может быть выполнена без влияния на состояние приложения. - person Michael   schedule 23.05.2019++a
, если я проверю толькоa
, изменений не будет - person Arun Sudhakaran   schedule 23.05.2019