i++是使用i之後再加一。;"++"是C和C++裡的自增運算子。;其中:++i是使用i之前先使i加一。i++是使用i之後再加一。如果不能理解,那麼可以理解為:++i是先計算,再操作,i++是先操作,再計算。;a = i++;先把i的值賦給a之後i加1。;b = ++i;先i加1然後把值賦給b。;a = i++;相當於 a = i;i++;a = ++i;相當於 i++;a = i;擴充套件資料:;自增自減運算子存在於C/C++/C#/Java等高階語言中,它的作用是在運算結束前(前置自增自減運算子)或後(後置自增自減運算子)將變數的值加(或減)一。;相較於這些語言中的+=和-=運算子,自增運算子更加簡潔,且可以控制效果作用於運算之前還是之後,具有很大的便利性。;在同一條語句中,被操作的數出現多次是可以透過編譯的,但是其在C++ Standard等語言標準中被定義為"Undefined behavior"(不確定的行為),即不同的編譯器或編譯器版本所編譯得到的機器碼可能不盡相同。;不推薦在同一條語句中使被操作的數出現多次,這不僅僅將導致程式的含義難以理解,可讀性大幅降低,同時可能導致不同的編譯器或編譯器版本得到不同的結果。
i++是使用i之後再加一。;"++"是C和C++裡的自增運算子。;其中:++i是使用i之前先使i加一。i++是使用i之後再加一。如果不能理解,那麼可以理解為:++i是先計算,再操作,i++是先操作,再計算。;a = i++;先把i的值賦給a之後i加1。;b = ++i;先i加1然後把值賦給b。;a = i++;相當於 a = i;i++;a = ++i;相當於 i++;a = i;擴充套件資料:;自增自減運算子存在於C/C++/C#/Java等高階語言中,它的作用是在運算結束前(前置自增自減運算子)或後(後置自增自減運算子)將變數的值加(或減)一。;相較於這些語言中的+=和-=運算子,自增運算子更加簡潔,且可以控制效果作用於運算之前還是之後,具有很大的便利性。;在同一條語句中,被操作的數出現多次是可以透過編譯的,但是其在C++ Standard等語言標準中被定義為"Undefined behavior"(不確定的行為),即不同的編譯器或編譯器版本所編譯得到的機器碼可能不盡相同。;不推薦在同一條語句中使被操作的數出現多次,這不僅僅將導致程式的含義難以理解,可讀性大幅降低,同時可能導致不同的編譯器或編譯器版本得到不同的結果。