C语言里自加++和自减——放变量前和变量后有什么不同作用啊,分别怎么计算的?

如题所述

运算符在前,表示运算在前取值在后;运算符在后,表示运算在后取值在前

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

    改变变量 i 的值

    确定运算结果是变量 i 改变后的值

而在对 i++ / i-- 这样的后缀运算符(Postfix increment and decrement operators)求值的过程中,则是以下两步

    确定运算结果是变量 i 的值(此时 i 的值还没有改变)

    改变变量 i 的值

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-25
跟优先级有关系例如 int a = 1;int b = a++,b就是等于1如果int b = ++a,b就是等于2因为=号的优先级要高于++,--
第2个回答  2013-08-25
++(--)放在变量前是先自增(减)再引用反之就是先引用再自增(减)
相似回答