C語言中 i 和 i 有什麼區別?

2021-06-01 21:27:34 字數 575 閱讀 2390

今天有同學問c語言中for迴圈裡那個 i++ 和 ++i 是否有區別,我告訴他在for迴圈中是沒有區別的,現在具體說一下 i++ 和 ++i 的區別。

我們先用while語句寫一下 for(i=1;i<10;i++)

int i=0;

while (i<10)

再用while語句寫一下 for(i=1;i<10;++i)

int i=0;

while (i<10)

可以看到,最後i的值都是10,所以在for迴圈裡,i++ 和 ++i 是沒有區別的,那麼區別在**呢?

現在我們再看一段程式:

#include

int main()

試著執行一下這段程式,發現結果是 1 2 ,這就是 i++ 和 ++i 的區別了:

i++  :先引用後增加

++i  :先增加後引用

具體是什麼意思呢?就是

i++  :先在i所在的表示式中使用i的當前值,後讓i加1

++i  :讓i先加1,然後在i所在的表示式中使用i的新值

我想這樣說大家就應該明白了。

源位址

C語言中i 和 i的區別

1 字首 i 變數型別可以是基本型別也可以是指 指標型別。i使變數i的值增加 1 並以i的新值作為表示式 i 運算的結果,該表示式返回的就是變數i增加1以後的值 i等價於i i 1 2 字尾 i i 的意思是首先求得整個表示式的值,該表示式的值就是變數i原來的值。在確定了表示式的結果以後,i的值再增...

C語言中的 i 和 i 的區別

1 i int i 0 while i 10 2 i inti 0 while i 10 1 與 2 經過運算後,i的值都是10。在while和for迴圈中的 i 和 i 是沒有區別的。現在我們來看一段程式 include int main i 和 i的區別就是 i 先引用,後增加 i 先增加,後引...

i7 9700和i7 9700K有什麼區別

關於i7 9700和i7 9700k兩款處理器的區別,由於同代同架構同i7系列,可以直接通過兩者引數來對比,了解一下i7 9700和i7 9700k的規格差異。吃雞 選i7 9700和i7 9700k,選cpu 這些點很重要 看完你就知道了 在架構 工藝 介面型別 核心執行緒 快取 內建核顯 記憶體...