一只成序源 2019-09-23 18:00 采纳率: 66.7%
浏览 267

请问a+++a;a的值是怎么变化的,越详细越好。谢谢各位大佬!

var a=1;
var b=a+++a;

b的值为3,a为2;

详细解释下第一个a和第二个a的值变化;谢谢啦~

  • 写回答

3条回答 默认 最新

  • little_how 2019-09-23 19:19
    关注

    e1:如果你的是 b = a++ + a的话,执行步骤如下:
    1.执行将a的值(此时值为1)取出压入栈中,然后执行a++,此时a=2,并压入栈中;
    2.将栈中的1和栈中的2取出相加得出b=3

    e2:如果你得是b = a + ++a的话,执行步骤如下:
    1.将a=1压入栈中
    2.执行++a得到a = 2并压入栈中
    3.取出栈中的1和2相加得出b=3

    所以两种情况下的都是a=2,b=3

    希望对你有帮助...

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办