为了账号安全,请及时绑定邮箱和手机立即绑定

为什么以下代码有效?我希望它会产生错误,但它不会

为什么以下代码有效?我希望它会产生错误,但它不会

慕运维8079593 2022-06-23 08:50:02
以下代码中 x 的值是多少:int x=15; x %= x++ + +x - 3请解释原因。为什么它不给出语法错误+x或之前的额外+内容?
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您可以将您的代码拆分成这样的部分,看看它是如何工作的:


    int x = 15; 

    int y = x++ + +x;

    System.out.println(y);  //result: 31 (x = 15, then incremation so it is 15 + 16)

    System.out.println(x);  //result: 16 because of previous incrementation

    y = y - 3;

    System.out.println(y);  //result: 31 - 3 = 28

    x %= y;

    System.out.println(x);  //result: 16 % 28 = 16


查看完整回答
反对 回复 2022-06-23
?
POPMUISE

TA贡献1765条经验 获得超5个赞

x %= (x++) + (+x) - 3;

x++称为后增量。你可以查看这个帖子。
+x只是一个符号运算符。

因此,您的陈述将评估为:

x %= (15) + (+16) - 3;


查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信