运算符在前,表示运算在前取值在后;运算符在后,表示运算在后取值在前
C语言是过程式编程语言。不同于“纯”函数式编程语言,C语言的表达式可以改变变量的值或外部状态,这被称为表达式的“副作用”(side effect)。++i 就是含有副作用的表达式,在对 ++i / --i 这样的前缀运算符(Prefix increment and decrement operators)求值的过程中,按定义发生了以下两步
改变变量 i 的值
确定运算结果是变量 i 改变后的值
而在对 i++ / i-- 这样的后缀运算符(Postfix increment and decrement operators)求值的过程中,则是以下两步
确定运算结果是变量 i 的值(此时 i 的值还没有改变)
改变变量 i 的值