自增自減運算子詳解

2020-07-16 10:06:30

自增運算子++會把運算元加1,自減運算子--會把運算元減1,並且可以控制效果作用於運算之前還是之後,具有很大的便利性。

自增自減運算子存在於C/C++/C#/Java/Python等高階語言中,它的作用是在運算結束前(前置自增自減運算子)或後(後置自增自減運算子)將變數的值加(或減)一。

相較於這些語言中的+=和-=運算子,自增運算子更加簡潔,且可以控制效果作用於運算之前還是之後,具有很大的便利性。

自增運算子 ++ 使運算元的值加1,其運算元必須為可變左值(可簡單地理解為變數)。對於自增就是加1這一點,Eric想大家都不會有什麼疑問。

++ 可以置於運算元前面,也可以放在後面,如:

++i;
  i++ ;
  ++i表示,i自增1後再參與其它運算;而i++ 則是i參與運算後,i的值再自增1。

自減運算子--與之類似,只不過是變加為減而已,故不重述。

下面我們通過一些範例來深入理解自增運算子的特性,自減運算子同理自悟

例:

int i=3;
  int j=4;
  i++;
  ++j;
  printf("%d, %dn", i, j);

對此,Eric想大家都不會有什麼困惑,結果就是 4,5;下面我們來做一點小改動:

int i=3;
  int j=4;
  int a = i++;
  int b = ++j;
  printf("%d, %dn", a, b);

  結果又是多少呢?這裡就開始體現出++前置與後置的區別了,結果是3,5。結合此例,我們回頭再來理解一下「++前置:i自增1後再參與其它運算;++後置:i參與運算後,i的值再自增1」。很明顯,a = i++;由於是先執行賦值運算,再自增,所以結果是a=3,i=4;而b = ++j;
  則因先自增,然後再賦值,所以b,j均為5。

以上就是自增自減運算子詳解的詳細內容,更多請關注TW511.COM其它相關文章!