【知识点2】自增变量

文章详细解释了C++中自增操作符(i++)和(++i)的区别,以及在复杂表达式中如何处理变量的值。简单赋值操作中,i++是先赋值后自增,而++i是先自增后赋值。在涉及操作数栈的复杂运算中,如i=i++或i=++i++,计算顺序变得重要,影响最终结果。例如,表达式i+++i*i+++会导致多个i值入栈并按照特定顺序计算,从而得出k的最终值。
摘要由CSDN通过智能技术生成

前言:当变量自增操作独立的时候,如 i++ 和 ++i 的最终i的值是一样的,但当遇到复杂的操作时就需考虑它的内在操作。

1:简单赋值操作

如        int i = 1 ; int j = i++; j的结果为1       int i = 1;int j = ++i; j的结果为2

i++是先赋值再计算,++i是先计算再赋值

 2:复杂操作

如        int i = 1 ; i = i++;

当一个变量参与计算时会创建一个该变量的操作数栈

 i=i++操作时,先将i的值放入操作数栈,i++后值变为2赋值给变量i,最后再将i操作数栈里的值赋给i

 如         int i = 1 ; int k = i + ++i * i++

先将表达式中i的值1入栈,再将i自增后的值2入栈且i变量的值变为2,再将i的值2入栈且i变量的值自增变为3

 接下来就是运算了,i的操作数栈栈顶两元素出栈进行乘运算(2*2=4),结果再入栈

再将栈顶两元素出栈进行运算(4+1=5),将结果入栈

当操作数栈只有一个元素时,将其出栈赋给k变量,k最后的值为5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值