C語言中的 i++ 和 ++i 的區別


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM