-10
请看一看代码的小片段:递增和递减操作confution在JAVA
int e = 20;
System.out.println(e++*e--*++e*e);
谁能解释的输出吗?
其实我想问一下前后增量/减量是如何在这里工作的?
谢谢。
请看一看代码的小片段:递增和递减操作confution在JAVA
int e = 20;
System.out.println(e++*e--*++e*e);
谁能解释的输出吗?
其实我想问一下前后增量/减量是如何在这里工作的?
谢谢。
打破表达e++*e--*++e*e
最终输出:
185220
最简单的方法是考虑在临时变量而言,从左至右依次为:
e = 20;
a = e++; //a = 20/e = 21
b = e--; //b = 21/e = 20
c = ++e; //c = 21/e = 21
d = e; //d = 21
result = a * b * c * d; //20 * 21 * 21 * 21 = 185,220
我建议你尽量自己解决,否则你会认为没有理智的人会写出这样的东西,因为它很混乱。 –
[Explain this behavour]的可能重复(http://stackoverflow.com/questions/4227963/explain-this-behavour) –
为什么你要使用这个。???噢,我想让其他程序员或老师混淆。 – Arpit