两者都会将i自增1,区别是返回值。
i++返回i自增之前的值,++i返回i自增之后的值。
比如,i=1
a=i++,则a=1,i=2,a为i自增前的值
a=++i,则a=2,i=2,a为i自增后的值
先看一段代码:
#include
int main() {
int i,x;
i = 1;
x = 1;
x = i ++; //先让x变成i的值1,再让i加1
print("%d", x); //x=1
print("%d", i); //i=2
i = 1;
x = 1;
x = ++i; //先让i加1, 再让x变成i的值2
print("%d", x); //x=2
print("%d", i); //i=2
}
++和++i的区别就是:
i++ :先引用,后增加
++i :先增加,后引用
换句话就是:
i++ : 先在i所在的表达式中使用i的当前值,再让i加1
++i : 先让i加1,再在i所在的表达式中使用i的新值
取决于++和i的相对位置:
++在i前面,i先加1,然后在表达式中用i的值;++在i后面,先在表达式中用i的值,然后i再加1。