一条线上的多个分配未按预期工作

一条线上的多个分配未按预期工作,第1张

一条线上的多个分配未按预期工作

让我们尝试扩展您的最后一个表达式

评估

x = x^(y = y^ (x = x^y));

需要注意的是表达式从评估

它成为了,

x = 4 ^ (y = 3 ^ (x = 4 ^ 3));

现在,问题已变得显而易见。对?

编辑:

为了消除混乱,让我尝试通过从左到右的评估来解释我的意思。

int i = 1;s = i + (i = 2) + i;

现在,该表达式的计算结果为

s = 1 +    2    + 2;

请注意,赋值

i
左边
1
,但是赋值的 右边
(和赋值上)被评估为
2
,因为评估是从左到右,当涉及表达式的第二部分和第三部分时,
i
s的值为
2



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5616362.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存