關於i 與 i的思考

2021-07-24 19:50:19 字數 548 閱讀 1766

筆者剛接觸這個的時候, 也是糊里糊塗,特意去查詢了許多資料,自以為已經了解,不想仍是只在此山中,雲深不知處。

通常的解釋是:i++先運算,再自增;

++i先自增,再運算。

一定程度上,這兩句話是對的。但筆者這裡想說的是,筆者贊同第二句話,卻不認可第一句話。我們來看乙個簡單的例子:

int i=0;

int b=0;

b=i++;

int i=0;

i=i++;

執行完語句後,i等於什麼呢,?很多人都說是1,筆者曾經也這麼認為 。按照先運算,再自增的說法,先執行i=i,此時i仍等於0,接著再執行i++,此時i等於1。然而放到機器上一運算,傻眼了,最後的結果i仍等於0。為什麼呢,筆者認為i++真正的執行順序是先自增,再把自增前的值運算,可以這麼理解i=i++這個過程:

//i=i++的理解

int temp=i;

i++;

i=temp;

關於i 與 i 的問題

不要再問 i i啦!好多人面試的喜歡問 i 和 i的區別。尤其是對應屆畢業生面試中尤為常見。更有主考官原意出 x 4 x 4 x x 這種難題,覺得這種題可以綜合考察被面試者的綜合能力。不排除有人,能把這種題答的很完美,但也不排除有的主考官連自己都搞不明白。先不說這題出的對錯,這種問題,在大部分 覺...

關於 i 快於 i

當然,很多時候我們有的 用c 提交通過了,但是g 卻失敗了呢?眾所周知,不同的編譯器,會對 做出一些不同的優化。舉乙個最簡單的例子。針對單個語句 注意,是單個語句,不是包含在語句中的那種前 和後 a a b a 一般的講,我們都知道,這兩條語句的最終結果是一樣的,就是a自己增加了1。但是,兩者的差距...

關於 i 和 i 的區別

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