这是代码的一部分,在调试时很奇怪
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 behavior is different while debugging and running,How post Increment ++ Operator works while initialization没有给出适当的想法。
答案 0 :(得分:1)
在调试模式下评估表达式++ a的值时,实际上是增加了变量。因此会影响最终结果。