C語言 i 和 i的區別

2023-02-08 11:05:42 字數 455 閱讀 3248

同樣都是自增

i++是相當於先返回i的值在再做自增

+i則是先自增再做返回i的值,相當於 i = i + 1

i++ 返回原來的值,++i 返回加1後的值。

c語言中的表示式是從左向右運算的,出現在變數左側的++運算子的優先順序大於出現在變數右側的++,所以++i這個表示式先對變數進行自加運算,然後把計算的結果作為++i這個表示式的值,運算後表示式++i的值和變數的值是一致的;而i++這個表示式是先取變數的值作為表示式的結果,然後再對i進行自加運算,因此表示式的值是變數i的原來的值,運算後表示式i++的值和變數的值是不一致的,前者比後正好差1。

i和i 的區別(C )

內容會持續更新,有錯誤的地方歡迎指正,謝謝 i 與 i 的主要區別有兩個 i 返回原來的值,i 返回加1後的值。i 不能作為左值,而 i 可以。第一點不用解釋了,說下第二點。首先解釋下什麼是左值?左值 可被定址的值 是對應記憶體中有確定儲存地址的值,而右值是所有不是左值的表示式的值。一般來說,左值是...

C語言i 與 i 的主要區別

i 與 i 的主要區別有兩個 1 i 返回原來的值,i 返回加1後的值。2 i 不能作為左值,而 i 可以。毫無疑問大家都知道第一點 不清楚的看下下面的實現 就瞭然了 我們重點說下第二點。首先解釋下什麼是左值 以下兩段引用自中文維基百科 右值引用 詞條 左值是對應記憶體中有確定儲存地址的物件的表示式...

C 中i 和 i的區別

答 理論上 i更快,實際與編譯器優化有關,通常幾乎無差別。i 實現的 為 i 實現 為 intoperator int 返回一個int型的物件本身 i的實現 i實現 為 int operator 返回一個int型的物件引用 i 和 i的考點比較多,簡單來說,就是i 返回的是i的值,而 i返回的是i ...