老师,我还是不明白num1++和--num1的意思

来源:5-7 编程练习

能量咕噜略略

2020-02-27 20:17:09

<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title> ++和--的运算</title>

</head>

<body>

    <script>

        //代码补充

        var num1=4,num2=5;

        result1=(num1++)+(--num2);

        result2=(num1++)-(--num2);

        result3=(num1++)*(--num2);

        result4=(num1++)/(--num2);

        document.write(result1+"<br>"); //num1=4,num2=4

        document.write(result2+"<br>"); //num1=5,num2=3

        document.write(result3+"<br>"); //num1=6,num1=2

        document.write(result4+"<br>"); //num1=7,num1=1

    </script>

</body>

</html>

代码如上:result1我知道,4+4,但是result2不是还是计算num1++和--num2吗,为什么会变成5和3,就这么完全乱套了,这计算顺序到底是啥样的

写回答

3回答

好帮手慕星星

2020-02-28

同学你好,代码是正确的。

最后理解的是正确的:

http://img.mukewang.com/climg/5e5876d20928bfbd06020199.jpg

主要是因为每一次计算之后num1和num2的值都会改变,所以进行下一次计算的时候需要用改变后的值进行计算。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

能量咕噜略略

提问者

2020-02-27

明白了,是不是这么理解

首先:result1计算的是num1++(num1原先的值)+ --num2(num2递减后的值),

然后在重新计算num1的值日为num1+!,就变成了5,

在第二次还没开始计算前,var num1=5,num2=4;

然后在开始第二次的result2的计算

然后就是(num1++)-(--num2)=5-3=2; 接着在重新计算num1=num1+1,数值就变成了6

在第三次还没开始计算前,var num1=6,num2=3,然后以此类推

0

能量咕噜略略

提问者

2020-02-27

这里既然第二次:num1和num2实现了递增和递减操作,那为什么第一次运行的时候又没有实现呢,好乱呀,那按照正常逻辑来看,第一次运行num1++不就等于5了吗,--num2不就等于4么,为什么要从第二次才开始呢?

0

0 学习 · 40143 问题

查看课程