相关疑难解决方法(0)

++ i + ++ i + ++ i in Java vs C.

int i=2;
i = ++i + ++i + ++i;
Run Code Online (Sandbox Code Playgroud)

哪个更正确?Java的结果是12或C = 13.或者如果不是正确的问题,请详细说明.

c java operator-precedence undefined-behavior

5
推荐指数
4
解决办法
8540
查看次数

在Java中使用递增和递减运算符的混淆

我有一个带递增和递减运算符的表达式以及一些二元运算符.

public class precedence {
   public static void main(String ar[]){
     int a=3;
     int b=4;
     System.out.println(a++ * b-- / a-- + ++b);
     System.out.println(a+","+b);
   }   
}
Run Code Online (Sandbox Code Playgroud)

第一个++ b被5替换,b将是5.

然后,由于所有剩余的术语都是修补后的版本,评估的顺序将从右到左

a--将被替换为3,a将更改为2.

b--将被替换为5,b将变为4.

a ++将被替换为2,a将变为3.

所以最后的表达式应该是2*5/3 + 5,它等于8,但输出中显示的答案是7.可以有人告诉我哪里错了.

java operator-precedence

1
推荐指数
1
解决办法
1446
查看次数

标签 统计

java ×2

operator-precedence ×2

c ×1

undefined-behavior ×1