不理解算出来的答案

不理解算出来的答案

http://img1.sycdn.imooc.com//climg/5cbed7fe0001802c09130486.jpg

++num计算的时候,最后num1的数值,不应该是一开始的10吗?11是在算num3的时候,这个过程中num1的值,num3等于16这个理解,就是不明白,为什么num1也变了。算num3的时候,在那个过程中是11,但是只是输入num1的值,应该是一开始定义的10才对啊。        num++计算的时候,两个值都不理解。11-5=6,下边那个怎么是5,不理解

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 王一宏 2019-04-23 18:07:21

老师,那下边那个num++结果是10的话,后边的两个加号不是没有起作用吗?那写这个有什么用,结果应该是错的吧

  • 之前说了num++是先输出num的值,然后再加1 ,在num3的计算中num1++的值是10,但是num1本身的值是加1了,变为了11 。++对于这num3的计算可以说没有影响,但是num1本身的值是有影响的,结果没有错。
    2019-04-23 18:33:39
好帮手慕星星 2019-04-23 17:46:18

同学你好,num变量只要经过++的计算,不论++在前还是在后,num最后的值都是增加1 。但是输出num++和++num是有区别的,++在后是先输出num值,然后再进行加1,++在后是先进行加1,然后输出num值,例如:

(1)++在前:

http://img1.sycdn.imooc.com//climg/5cbedde20001959d03440106.jpg

结果:

http://img1.sycdn.imooc.com//climg/5cbede290001460701310061.jpg

(2)++在后:

http://img1.sycdn.imooc.com//climg/5cbede380001da9503200097.jpg

结果:

http://img1.sycdn.imooc.com//climg/5cbede410001fb7901210056.jpg

所以视频中:

http://img1.sycdn.imooc.com//climg/5cbede630001b41f06540210.jpg

num1经过++之后值变为11,因为++在后,在计算num3值的时候,是先输出num1值,也就是10,num2的是5,相减值就是5 。

可以再测试理解下,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师