(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。