栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么i | = j | = k | =(j + = i)--(k +++ k)--(i = + j)== 11?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么i | = j | = k | =(j + = i)--(k +++ k)--(i = + j)== 11?

什么是

=+
运算符?

那是两个运算符,一个是赋值运算符,

=
一个是一元加号
+
,它什么都不做。

您是否输入错了并表示compund赋值运算符

+=

什么是

+++
运算符?

还有两个运算符,一个为后递增,

++
一个为加法
+
(根据最大划分规则,选择了最长的有效令牌,如果选择了最短的有效令牌,它将成为一个加法和两个一元加法)。

什么是

- -
运算符?

再一次是两个运算符,一个减法,一个一元负数(负)。

什么是

|=
运算符?

一个复合赋值,

boolean
对左侧的值与右侧的值进行按位或[如果是值,则对它们进行逻辑或],并将其存储在左侧的变量中。

a |= b;

几乎等于

a = a | b;

但是左侧操作数仅计算一次,而后者可能需要显式转换,而前者则不需要。

k = (j = (i = 0) + 2) + 1;return i|= j|= k|= (j+= i) - - (k+++k) - - (i =+j);

它的值为11。这是如何工作的?

第一行相当于

i = 0;j = i+2;k = j+1;

赋值(

i = 0
例如)计算为存储的值(在
i
此)。

下一行是,具有适当的间距,并添加了隐式括号

return i |= (j |= (k |= (((j += i) - (-(k++ + k))) - (-(i = +j)))));
  • i |= stuff_1
    i
    被评估(0),
    stuff_1
    被评估,按位或被取,结果存储在中
    i
    。由于
    i
    本来是0,所以等效于
    i = stuff_1

  • j |= stuff_2
    j
    对(2)
    stuff_2
    求值,按位或求值,并将结果存储在中
    j

  • k |= stuff_3
    k
    被评估(3),然后
    stuff_3
    从左到右。

    • (j += i)
      添加
      i
      j
      ,将和存储在中
      j
      并返回
      j
      的新值。由于
      i
      为0,因此
      j
      不会更改,值为2。
    • (k++ + k)
      接受
      k
      (3)的旧值,增加
      k
      并加上
      k
      新的值(4),得到7。该值被取反,并且从2中减去该取反的值(-7),得到
      2 - (-7) = 9
    • (i = +j)
      j
      (2)的值存储在中,
      i
      并且表达式的值也为2。该值被取反(-2)并从先前操作中得到的9中减去,因此
      stuff_3
      求值为11,其副作用是

    • i
      现在的存储值为2

    • 的存储值
      j
      现在为2(实际上没有更改,因为
      i
      最初为0)
    • k
      现在的存储值为4
    • k
      (3)的旧值按11进行位或运算,得到11,该值存储在中
      k
      ,而11是的值
      stuff_2
      ,即
      k |= stuff_3
    • j
      (2)的旧值按位或与
      stuff_2
      (11)的值相加,结果为11。该值存储在中
      j
      stuff_1
      j |= stuff_2
      )的值为11。
  • i
    (0)的旧值按位或与
    stuff_1
    (11)
    i
    的值相加,结果在中排序,然后值为
    i |= stuff_1
    11。然后返回该值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号