關於程式設計語句i 與 i的區別用法

2021-07-11 09:45:56 字數 734 閱讀 4500

首先我們定義乙個變數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;

總結:++i;i++;的區別:

i++先做別的事,再自己加1;

++i先自己加1,再做別的事情;

形象的理解,你可以把++i比作自私的人,首先考慮自己的事;

i++是無私的,先為別人照想,這樣方便記憶。

也可以參照函式:i++

function ()
++i為

function ()
總而言之,i++ 語句需要個臨時變數,去儲存返回自增前的值。

不要忽略這個變數的意義,了解過 c 等「低階」語言的朋友,可能會了解變數的內部機制。首先,申請(malloc)一段記憶體空間,然後將值塞(push,壓棧)進去,最後不用了釋放(free)。

i 與 i的區別

public class test static int x,y public static void main string args public static void mymethod 選項 compiletime error prints 1 prints 2 prints 3 print...

i 與 i的區別

今天在寫題的時侯在 i與i 上遇到了麻煩,具體就是我在寫乙個迴圈語句時因為沒有弄清楚i 與 i的區別而導致的錯誤。之前對於i 與 i的使用都只侷限於如下方式 for j 2 j 9 j for j 2 j 9 j 這樣使用好像兩者並沒有什麼區別。然而當我像下面這樣用時卻出了問題 for j i,t ...

關於 i 和 i 的區別

i 和 i 的使用分為兩種情況 1 單獨使用 2 放入表示式中使用。1 第一種情況,單獨使用時從實現的效果 即程式的執行結果 上看是等價的。2 當放入表示式中使用,則有本質區別 b i 字首形式,等價於 i i 1 b i b i 字尾形式,等價於 b i i i 1 i 是先使用後自加,在結束標誌...