【C++】(++a)和(a++)區別解讀
阿新 • • 發佈:2019-01-25
- 簡介
- code&result
1 簡介
- ++a和a++,都是個表示式,最後的結果就取決於是先加,還是後加;
- 如果是先加,那麼最後的表示式的結果就是a的值加1;
- 如果是後加的話,則表示式的值就是原來a的值;
- 無論是先加,還是後加,a的值計算後一定會加1;
2 Code
I.在表示式中 若 a = 1, b = a++ ==>> 運算完 b = 1, a = 2 【先賦值,後 + 1】 若 a = 1, b = ++a ==>> 運算完 b = 2, a = 2 【先 + 1,後賦值】 也可理解為: a++ <<==>> a = a + 1, 【先賦值,後 + 1】 ++a <<==>> a = 1 + a, 【先 + 1,後賦值】 II.單獨的語句中二者都沒有什麼區別! ex: int a = 6,b = 6; a++; ++b; //這裡就是語句! printf("%d %d",a,b); 輸出都是2. III.if 條件語句 表示式 :if((a++)==1) 【先判斷,後 + 1】 if((++a)==1) 【先 + 1,後判斷】