i和i 有什麼區別啊

2021-03-11 11:21:27 字數 1618 閱讀 5686

1樓:l溯流光

區別在於:++先做別的事,再自己加1,++i先自己加1,再做別的事情,形象的理內解,你可以把++i比作自私容的人,首先考慮自己的事,i++是無私的,先為別人照想,這樣方便記憶。

首先我們定義一個變數i,int i=5,然後我們做執行printf(「%d」,i++),我們會發現輸出結果是5。

是為什麼呢,我們要搞清楚printf(「%d」,i++)這句話是做兩件事:1.輸出i、2.i=i+1,這裡的順序,是先輸出i,再執行i=i+1。

然後我們初始化變數i,i=5;、然後我們做執行printf(「%d」,++i)、我們會發現輸出結果是6,其實printf(「%d」,++i);做的也是這兩件事:1.輸出i、2.

i=i+1,只是先做i=i+1,然後輸出i。

2樓:匿名使用者

1.如果只是看i++和++i,這兩個是等價的,都等同於i=i+1,都是變數自身加1。

2.在一般情況下,內它們都是跟賦值聯容系在一起。比如:

int a;

a=i++;//將i的值賦值給a,即a=i;然後再執行i=i+1;

也就是【a=i++;】與【a=i; i=i+1;】等價。

a=++i;//將i+1的值賦給a,即a=i+1;然後再執行i=i+1;

也就是【a=++i;】與【a=i+1;i=i+1;】等價。

3.總結:

①前置++是將自身加1的值賦值給新變數,同時自身也加1;

②後置++是將自身的值賦給新變數,然後才自身加1。

3樓:匿名使用者

++i表示先把i加1再賦值,i++表示先賦值後再加1。

++i的值是自增後的回值,i++的值是自增前的值。如:

int i = 0;

++i;//先自答增

system.out.println(i)輸出結果:0

int i = 0;

i++;先賦值

system.out.println(i)輸出結果:1

1、++i 的用法(以 a=++i ,i=2 為例)先將 i 值加 1 (也就是 i=i+1 ),然後賦給變數 a (也就是 a=i ),    則最終 a 值等於 3 , i 值等於 3 。 所以 a=++i 相當於 i=i+1 ,a=i

2、i++ 的用法(以 a=i++ ,i=2 為例)先將 i 值賦給變數 a (也就是 a=i ),然後 i 值加 1 (也就是 i=i+1 ), 則最終 a 值等於 2 ,i 值等於 3 。 所以 a=i++ 相當於 a=i , i=i+1

4樓:仙女王吉吉

至於++i和i++有什麼區別

bai,舉個例子

1.a = i++;du

等校為a = i;

i = i + 1;

2.a = ++i; 等校為

i = i + 1;

a = i;

i++和++i的 最重要的區別大家都zhi知道就是dao +1和返回值的順序 .但還有一個區別(在c++中)就是i++在實現的時候,產 生了一個local object class int; //++i

所以從效率上來說++i比i++來的更有效率具體細節你可以看more effective c++ 的m6看看c++類過載運算子就知道了。

C語言程式設計中的 i和i 有什麼區別

i 和i 的區別 1 運算方式 i 屬於自增運算,相當於i i 1 i 屬於自減運算,相當於i i 1 2 值的變化 假設i 10,分別執行i i 後 i 後 i i 1 10 1 11 i 後 i i 1 9。擴充套件資料 無論i 還是i 這兩個公式既可以單獨存在,也可以賦值給另外的變數。當賦值引...

C語言迴圈語句中i 和 i有什麼區別

假設i 6 那麼i 的值為6,但執行完i 後i的值就變成7了 i的值為7,因為 i是這樣執行的 先自增後取值 簡單的來說,i 和i 在單獨使用時,就是 i i 1。而a i,相當於 i i 1 a i 而a i 相當於a i i i 1 如果實在搞不明白 怎麼回事,那也不是什麼天塌下來的事。因為a ...

i5 7200u和i5 7200有什麼區別

市面上沒有i57200這一款處理器,只有i57200u處理器。介紹一下intel處理器的命名規則 intelcpu分為高 中 低三檔,即i7 i5 i3 第一位代表第幾代cpu,數值越大,架構更優 第二位代表處理器等級,數值越大,效能越好 後面跟的字母表示功耗,字母越小,功耗越大,效能越好,常見有 ...