大家好,C语言中自加自减——最简单的运算符操作了,也是前后缀——最容易搞混的语法,今天把它搞得明明白白。
在前缀运算符中,例如 ++a,这个表达式的运算结果等价于 a = a+1,也就是说 (++a) == (a = a+1) 在该表达式 a = a+1中,a 可以是支持任意加法运算的数据类型,也就是说 a 可以是整型、字符型、浮点型甚至是指针都可以。
需要注意的是,++a 在实际表达式中计算的时候,他有自己的一套规则,我们要遵循它,不然就会出错,就是“先进行自加,然后在参与运算”,例如 b = ++a; 那a就要先自加,然后才赋值给b。
以此类推,类似于 a++ 这样的式子就是后缀运算,该表达式的结果同样等价于 a = a+1,也就是(a++) == (a = a+1) 但是在实际表达式中时,例如 b = a++; 这个时候a会先进行运算,然后再自加。
如果把加号改成减号,同理可得,就是另一个自减运算符,其前后缀的运算逻辑跟上面的自加运算符是完全一致的。
C语言中自加自减最容易搞混淆的,所以大家一定要细心再细心,不然出现了bug了一脸蒙圈,到最后发现是这么个低级错误那就不应该了。