为什么这个程序的输出是10,为什么不是11?
public class Test {
public static void main(String[] args){
int p = 10;
p = p++;
System.out.println(p);
}
}
答案 0 :(得分:6)
虽然postfix ++
在分配完成之前更改了p
,但表达式的值仍然是p
的原始值,即10
。这是分配给p
的内容。
以下是发生的事情:
p
被分配了10
p
的值在增量p
递增,新值11
存储在p
10
的已保存值存储在p
。答案 1 :(得分:0)
我认为如果你刚使用了p ++就可以了。