i++和++i的區別
i++和++i都是c語言里的自增,但是它們自增的順序不同
那么,它們到底有什么區別呢?
話不多說,直接上代碼
//++i和i++的區別 #include <stdio.h> int main() { //① int i=2; i++; printf("%d\n",i); //3 //② int i1=2; ++i1; printf("%d\n",i1); //3 //③ int i2=2; int j2 = i2++; printf("%d\n",j2); //2 因為在給某一個變量賦值的時候,i++ 就是先自增,返回增加之前的值。 printf("%d\n",i2); //3 //④ int i3=2; int j3 = ++i3; printf("%d\n",j3); //3 先增加,返回增加之后的值。 printf("%d\n",i3); //3 //⑤ int i4=2; printf("%d\n",i4++); //2 //⑥ int i5=2; printf("%d\n",++i5); //3 //⑦ int a=0,b=9; a++&&b++; printf("%d\n",b); //9 因為a++先增加返回增加之前的值等於0 0&&0和0&&1都得0,所以后面不執行,所以不增加 //⑧ int a1=0,b1=9; ++a1&&b1++; printf("%d\n",b1); //10 ++a1先增加返回增加之后的值 /* 總結來說, i++和++i 在給變量賦值(例③和④)或者在打印輸出語句中直接使用(例如⑤和⑥)遵循 i++ 先增加 返回增加之前的值 ++i 先增加 返回增加之后的值 而當i++和++i 單獨出現使用時(例如①和②),無論怎樣都會加1; */ return 0; }
我們可以看下控制台輸出的結果
總結來說
i++和++i 在給變量賦值(例③和④)或者在打印輸出語句中直接使用(例如⑤和⑥)遵循
i++ 先增加 返回增加之前的值
++i 先增加 返回增加之后的值
而當i++和++i 單獨出現使用時(例如①和②),無論怎樣都會加1;