int a =1, b,c;
a=b=a++;
System.out.println(a+" "+b);//11????
c=a++ + b;
System.out.println("abc分别为"+a+" "+b+" "+c);//212
++a不是运行后再加嘛,为什么结果是是212
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
compasslg 2021-04-24 22:07关注a++是返回原值,再加1,++a是先加1,再返回新的值
第一步a++返回1,再加1,但是返回值被赋值给a和b后又会覆盖原本的a,所以a,b都是1。
第二步a++返回1,b也是1,所以c=1+1=2,a的值返回以后计算加1,所以a=2,b不变,还是1
解决 无用评论 打赏 举报