i和i 的區別

2022-07-29 03:09:09 字數 1280 閱讀 7671

++i和i++區別在於運算順序和結合方向。

js中有兩種自加運算,其運算子均為++,功能為將運算子自加1.

其中:

++var被稱為前自加,其後面的變數執行自加操作,其運算為,先執行自加操作,再引用var值。

var++被稱為後自加,其前面的變數執行自加操作,其運算為,先引用var值,再進行自加操作。

如果自加語句獨立成為乙個單獨的語句,那麼前後自加是完全相同的。

比如單獨的一行

a++;和++a;是一樣的。

再比如,常見的for迴圈:

for(i = 0; i < 100; i ++)

for(i = 0; i < 100; ++i)

這裡用到的++i和i++是完全相同的,沒有區別。

當運算變數本身值會在自加語句中,同時執行其它操作,二者就有區別了。

比如

vari =0;

while(i++<10);

i會先和10比較大小,然後執行自加。這樣當i=10時,退出迴圈,再執行一次自加,退出後i值為11。

而如果寫成

while(++i<10);

是先執行自加,然後再與10比較。這樣在i=9時,先自加,得到i=10,然後比較就會退出迴圈了。這種情況下,退出後i值為10。

再舉乙個例子。

vara, i = 10;

a = i ++;//這裡i要先賦值,再自加。語句執行後a=10, i = 11;

而如果寫成:

vara, i = 10;

a = ++i;//這裡i要先自加,再賦值。語句執行後a=11, i = 11;

i和i 的區別

大家都應該知道i 和 i的區別,前者是先使用i的值,然後再增加1,而後者是先增加1然後再使用i的值。但是i 和 i那個更好呢?我們實現角度來看 前者是將i值加1後賦給i,然後返回i本身 而後者是先用個臨時變數儲存i值,然後將i值加1賦給i,然後返回臨時變數的值。內建資料型別他們的效率差不多,看他們的...

i 和 i的區別

當年上c 課的時候對於i 和 i的區別就稀里糊塗。後來沒注意也沒出過什麼問題。但是這個問題還是應該搞清楚。假如有乙個vector,值為 1,2,3,4,5,6,7 用以下程式輸出 i 0 while i 7 i 0 while i 7 cout beforei v i endl cout befor...

i 和 i的區別

很多朋友在學習基礎的時候很容易遇到過這個問題,i和i 到底有什麼區別?下面來詳細解釋一下。首先i 和 i單獨為一條語句時沒有任何區別 例如 int i 1 i 單獨為一條語句 system.out.println i i i 2 int i 1 i 單獨為一條語句 system.out.printl...