與 i的區別

2021-08-03 16:28:22 字數 465 閱讀 9621

如果只是一條單獨語句,沒區別,

比方說for(i=0;i<9;i++)與for(i=0;i<9;++i)都表示每次f0r迴圈結束時i+1後判斷i是否<9再進入下一次迴圈。或者是迴圈內部的i++;及++i;也同理。

但如果不是單獨語句,就有區別:

比如n=++i;和n=i++;n賦的值就不同,前者n的值為i+1後的值,後者n的值為i值,賦值操作完成後再加一。

#include int main ()
結果

a++=0

++a=1

再有把乙個陣列的值賦到另乙個陣列中時,y[j++]=x[i];與y[++j]=x[i];也不同,y陣列開始儲存的起點也是不同的。

根據這篇文章

裡的**,可以知道在沒有編譯器優化的情況下,++i效率會高於i++ 

i 與 i的區別

public class test static int x,y public static void main string args public static void mymethod 選項 compiletime error prints 1 prints 2 prints 3 print...

i 與 i的區別

今天在寫題的時侯在 i與i 上遇到了麻煩,具體就是我在寫乙個迴圈語句時因為沒有弄清楚i 與 i的區別而導致的錯誤。之前對於i 與 i的使用都只侷限於如下方式 for j 2 j 9 j for j 2 j 9 j 這樣使用好像兩者並沒有什麼區別。然而當我像下面這樣用時卻出了問題 for j i,t ...

談談i 與 i的區別

在通常情況下i 與 i是一樣的,可以等價替換的,例如在for迴圈裡 for int i 0 i 10 i 與for int i 0 i 10 i 是一樣的 但是也用不同的地方 int flag 0 for int i 0 i 10 i num flag i 先賦值 後flag加一 與for int ...