gpt4 book ai didi

递增数字后 JavaScript 代码出现意外结果

转载 作者:行者123 更新时间:2023-12-03 20:58:17 26 4
gpt4 key购买 nike

我正在尝试解决这个问题:

x = 10; y = 0; z = 5;

y = z * x++

y = z * ++x

我正在阅读的说明书(500 页长)告诉我,x++ 问题的答案是:

y = 50 and x = 11. 

我知道如何获得 x++,你所要做的就是增加 1。

x = x + 1.

有人可以帮助我吗,因为我无法弄清楚我做错了什么!我不明白这本书从哪里得到 50 分!

最佳答案

您在这里遇到的问题涉及后增量和前增量。

当执行 x++ 时,您是后递增...这意味着递增只会在语句被求值后发生。

因此,给定以下代码:

x = 10; y = 0; z = 5;

y = z * x++;

JavaScript 这样做:

x = 10; y = 0; z = 5;

y = z * x++;

// Ignore Post-Increment, Evalutate
y = z * x;
y = 5 * 10;
y = 50;

// Now Increment x - POST-INCREMENT
x = x + 1;
x = 10 + 1;
x = 11;

当执行 ++x 时,您正在预递增...这意味着递增将在语句求值之前发生:

x = 10; y = 0; z = 5;

y = z * ++x;

// Do Pre-Increment
x = x + 1;
x = 10 + 1;
x = 11;

// Evaluate
y = z * x;
y = 5 * 11;
y = 55;

关于递增数字后 JavaScript 代码出现意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5292065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com