我正试图深入了解post和pre incrementors,但是我对以下表达式有点困惑:
public static void main(String[] args) {
int i = 0;
i = i+=(++i + (i+=2 + --i) - ++i);
// i = 0 + (++i + (i+=2 + --i) - ++i);
// i = 0 + (1 + (3 + 2) - 1);
// i = 0 + (6 - 1);
System.out.println(i); // Prints 0 instead of 5
}
Run Code Online (Sandbox Code Playgroud)
我知道我在哪里错过了逻辑,但在哪里?
我尝试过的:
谢谢您的帮助
PS:评论是我的微积分的细节
编辑1
我试图将de hard编码值从表达式2改为其他东西,结果总是给出0
看看这个例子:
int i = 0;
i = …Run Code Online (Sandbox Code Playgroud)