c 中 i與i 的區別是什麼

2021-03-11 11:21:28 字數 1619 閱讀 2703

1樓:匿名使用者

剛才看到乙個問題,copy也是問這個差不多的問題,最佳答案居然是 int i=0;i+=; 居然是1我暈,明顯語法錯誤,可是我沒回答上他就關掉了,現在轉到你這來。

一、i+=s;為自身加上等號後面的的值,例如

int i=5;

i+=10;//此時i=15 ,相當於i=i+10;

二、如果你想要使用自增1或自減1,則使用方式是i++;或i--;( 或++i和--i;)

例如int i=5;

i++;//此時i=6

三、 i++;和++i的區別是,如果單獨執和沒明區別,如果與其它操作符一起執行,則有影響計算的前後次序,例如

例1: int i=1;

int b=++i; //此時會先將i自增1等於2,然後賦值給b,所以b=2

例2: int i=1;

int b=i++; //此時會先將i的值賦給b,然後i自增1,所以b的值是i沒自增1的值,所以b=1

2樓:陸美富

++i變數i和表示式同時增1

i++變數i增1,表示式為原值

3樓:匿名使用者

看到本書,說除了別人說過的區別外; i++需要編譯器多分配乙個副本作為變數

4樓:倒霉熊

如果是單獨的語句

i++;

++i;

是沒有什麼區別的,執行後都是增1.

但下面是有區別的

a = i++;

b = ++i;

前者,專

相當於 a = i;i++; 後者相當於 ++i; b=i;

也就屬是在這時候,i++是先使用i的值,再改變i的值。而++i是先改變i的值,然後再使用改變後的i值。

5樓:天尊的光輝

++i是乙個表示式,表示式的值是i+1,表示式過去後i的值也成了i+1

i++也是乙個表示式,表示式的值是i,表示式過去後i的值成了i+1

6樓:

i++ 是字尾運

copy算,就是 先取出 i 的值,i再 +1++i 是字首運算,就是 i先+1,再取i 的值i = 1;

j = ++i;//j = 2, i = 2j = i++;//j = 1, i = 2對於 其他自定義資料型別 字首++ 比字尾++ 效率要高

7樓:

主要差異在於返回值,相同點在於對i進行自加:

++i返回的是i自加後的

版內容,i++返回的是i未自加的權內容。

舉個例子:

int i = 10;

a = i++;

vs int i = 10;

b = ++i;

結果分別是 i = 11, a = 10和 i = 11, b = 11。

將i++和++i彙編結果,若沒有使用其返回值賦值特性,結果是一樣的,有返回值差異在於彙編**執行先後(先自加還是先賦值)區別。

另外,關於for(i = 0; i < n; i++)與for(i = 0; i < n; ++i) 有差異的說法是扯淡的。現在我們看到的編譯器,基本都會彙編成相同的**(好像有基本經典教程說有差異,那只是針對古老的編譯器)。

PERT管材I型與II型的區別是什麼

根據耐溫及承壓性不同,可分 為 pert ii型管和perti型管。pert管原料 一 材料不同 普通pe rt管採版用美國陶氏 權南韓lg,而pe rt 型採用法國道達爾 荷蘭巴塞爾。二 承壓等級不同 普通pe rt承壓能力一般,而pe rt 型承壓級別為s2.5,公稱壓力為2.5mpa,承壓能力...

計算機C語言中i 和 i有什麼區別?最好能講的淺顯易懂點,謝謝

總的來說 i 與來 i最重要的區別在源於 i 先使用 後自增bai如這時s的值為0 因為du先使用zhii的值來進行相加,而i和s的初值dao都為0所以相加的結果還是為0,而i的值會變為1 而 i則不同,i是先自增後使用如 int i 0,s 0 s s i 為了使你更好的理解我給 i加了個括號,不...

c語言中forI0i2,i是什麼意思

理解你給抄的語句中i和i 前面的逗號分別是i和分號的筆誤,如非筆誤請追問 for i 0 i 2 i 是以下語句的簡寫 i 0 loop if i 2 在c語言中,for i 0 i 2,i 這樣的迴圈體 會執行2次 分別是i 0和i 1時的情版況 它的執權行流程是這樣的 首先給變數i賦初值0,然後...