[c++] i++ 和 ++i 的区别

版权声明:Copyright (c) 2018 初阳-.-#.Co.Ltd. All rights reserved. https://blog.csdn.net/xwh012510/article/details/86523914

(1)

i ++:

int i = 0;

while (i < 10) 
{
    i ++;
}


(2)

++i:
int i = 0;
while (i < 10) 
{
    ++ i;
}


(1)与(2),经过运算后,i的值都是10。在while和for循环中的 ++i 和 i++ 是没有区别的。

现在我们来看一段程序

#include <studio.h>
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的当前值,再让i加1
++i : 先让i加1,再在i所在的表达式中使用i的新值

取决于++和i的相对位置:

++在i前面,i先加1,然后在表达式中用i的值;++在i后面,先在表达式中用i的值,然后i再加1。

猜你喜欢

转载自blog.csdn.net/xwh012510/article/details/86523914