++a-a++解析

有题目当a为1的时候++a-a++为多少答案为0

我们再输出a这个时候a等于3

为什么呢?

运算顺序

前置递增.减  大于 数字运算和后置递增.减 大于 比较(布) 大于 逻辑(或,且) 大于 赋值

好当我们把运算顺序理清楚了我们来看一下

当a = 1(不同题目下)

解 ++a - ++a 

  • 先-前置递增.减 ++a = 2 这个时候a也等于了2
  • 2 - ++a
  • 继续前置递增 ++a 由于这个时候回去全局找变量a,这个时候全局a等于2,所以2再++等于3
  • 2-3 = -1

解 ++a - a++

  • 先前置递增.减 ++a = 2 这个时候a也等于了2
  • 但是当是后置递增.减的时候就要和数字运算按照前后顺序执行了
  • 这个时候数字运算减法再前面所以先减法2-2 = 0
  • 当算完了数字运算减后再算后置递增.减 a++,去全局找a为2, a++这个时候全局a就为3了

解 --a + --a

  • 都是前置所以是先前面的前置 --a这个时候a为0了: 0 + --a
  • 然后再 第二个--a 这个时候去找a 已经是0 ,--0为-1
  • 0 + -1 = -1
  • 这个时候a为-1

解 --a - a++

  • 先0 - a++
  • 再先数字运算再前面所以先减法0-0 = 0
  • 但是a++再数字运算后还是会执行 这个时候a全局中是0, 0++就等于了1

 

 

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值