c語言中的i 與 i的使用區別?舉例說明

2021-10-17 05:09:36 字數 4249 閱讀 9826

1樓:法師的法

c語言i++和++i的區別:

1、i++式子值為原來的值,就是通俗說的「先賦值再加1」;

2、而++i式子值為i變化後的值,也就是「先加1後賦值」。

而在for迴圈中,如果要表示遞增,兩種都可以。

例如:如果i的初始值是0,使用後再加1,則輸出i++為0;

如果i的初始值是0,使用前先加1,則輸出++i為1。

2樓:來自美國迷人的阿拉蕾

i++是使用後再加1,如果i的初始值是0、輸出i++則為0

++i是使用前加1,如果i的初始值是0、輸出++i則為1

3樓:

i++:(++在後)在程式取用i時,i是原來的值,當該行指令執行完畢時i自動加1

++i:(++在前)在程式取用i時,i先自動加1後再執行該行指令..

4樓:張大仙要逆天

前者是先使用i值在加1,後者是先加1再使用i的值。

5樓:匿名使用者

int i=0;

print(i++)這個列印出來會是0;(i++就是先把i列印, i再++)

print(++i)這個列印出來的是1;(++i就是i先++,再列印出i)

6樓:匿名使用者

區別大啦

++i,i++,a

如果a = ++i;

等價於i= i+ 1;

a = i;

如果a = i++;

等價於a = i;

i = i + 1;

往往處理這些時,要與編譯器聯絡起來,多個++i相加想見與編譯器有關的

7樓:匿名使用者

i++是先取i值執行這條語句,結束後i值加1

++i是i值在原來基礎上先加1,然後再執行本條語句

8樓:

i++=i+1

++i=i

c語言裡,i++與++i的區別,最好舉例說明

9樓:媯淑琴嚴鵑

i++是使用後再加1,如果i的初始值是0、輸出i++則為0

++i是使用前加1,如果i的初始值是0、輸出++i則為1

10樓:匿名使用者

前置的++,是變數先自增1,然後再作其他操作,後置的++,是先取變數當前的值操作,然後再自增1你的例子中,i的初始值是1,執行k = ++i;時,先執行了 i = i + 1,也就是i的值變為2,再把i的值賦給k,所以k的值是2,i的值也是2

執行z = i ++;時,先取i的值賦給z,此時i的值是2,所以z也是2,然後再執行i= i + 1,這條語句執行完成後,i的值變為3

11樓:潛素芹田培

i++:(++在後)在程式取用i時,i是原來的值,當該行指令執行完畢時i自動加1

++i:(++在前)在程式取用i時,i先自動加1後再執行該行指令..

12樓:匿名使用者

i++ 和 ++i的基本功能是相同的,都是對變數i進行自增1運算,從功能上講相當於i =i+1 ;

++運算子分為字首++和字尾++,如i++中的++就是字尾運算子,++i中的就是字首運算子,兩個的區別在於:

字首++,先使用變數,再進行變數自增1

字尾++,先進行變數自增1,再使用變數

現在分析你的**:

i=1;

k=++i; //先加,後用,i=i+1=2 k=i=2z=i++; //先用,後加,z=i=2, i=i+1=3輸出 22

13樓:曾德文溥夏

i++是先使用變數的值,後加1;

++i是先自加1,然後使用變數的值。

本例中:

str[j++]=str[i];

相當於:先賦值,後自加。

str[j]=str[i];

j++;

14樓:卿連枝戈雀

區別大啦

++i,i++,a

如果a=

++i;

等價於i=

i+1;a=

i;如果a

=i++;

等價於a=i;

i=i+

1;往往處理這些時,要與編譯器聯絡起來,多個++i相加想見與編譯器有關的

關於c語言中i++與++i的區別和用法

15樓:仵仙承子珍

i++式子值為i原來的值,就是通俗說的「先賦值再加1」;

而++i式子值為i變化後的值,也就是「先加1後賦值」;

但是在for語句中用這兩個效果沒什麼區別,並沒有用它賦值。用++i編譯時會快點,如果有些編譯器不是太聰明,++i還會在執行時更快點,但是沒必要糾結於這種程度的優化

誰幫我解釋一下c語言中的++i與i++的區別及應用

16樓:

在實際程式設計中,為了程式的簡練,經常使用 i++ 與 ++i 這樣的語句,現簡單對她們的區別做一說明:

i++ :先進行運算,再執行 i = i +1的操作;而 ++i 則是先執行 i = i +1的操作,再進行運算;舉例說明如下:

int x=0, y=0;

y = x++;

執行後y的值仍為 0;而

int x=0, y=0;

y = ++x;

執行後y的值則為 1;

再例如:

int x=0;

if( x++ == 1) //條件為假 而int x = 0;

if( ++x == 1) //條件為真

通過以上兩個例項,我想大家應該可以很好的理解和使用i++和++i 了。

17樓:

我說個簡單的,i++和++i都是表示式,表示式是有值的,而i++和++i都是對i加1,但是表示式的值是不一樣的,i++的表示式的值等於加1之前的i的值,而++i表示式的值等於加1之後的i的值

如果i=2

那麼,(i++)+1等於3,而(++i)+1則等於4。

18樓:匿名使用者

++i是先自加,然後結果再參與運算

i++是先參與運算,然後再自加

很清楚吧?

如果i=1

那麼1*++i=2

而1*i++=1

19樓:

main()

結果如下:

i=2,j=2,x=2,y=1

看出區別了吧:)

20樓:匿名使用者

++i是先使i的值加1,再參與運算

i++是先參與運算,後使i的值加1

21樓:漫步雲端

i++與++i的區別是這樣的:

i++是先參與運算再自加;而++i是先自加再參與運算。

我就不舉了。

我也不想拿分,只參與回答!

不過實在想給我也沒辦法。要就要吧!謝謝!

22樓:匿名使用者

i++是先進行運算再將i自加1

++i是先自加1再進行運算

23樓:釁實皮念

i++是先使用變數的值,後加1;

++i是先自加1,然後使用變數的值。

本例中:

str[j++]=str[i];

相當於:先賦值,後自加。

str[j]=str[i];

j++;

c語言中的++i和i++的區別?

24樓:qt五月

c語言是__cdecl呼叫方式,

copy所以函式bai引數是從右往左入棧,先du壓棧zhi的當然先計算,而在壓棧的過程中後置i++(i--)是不dao會改變i的值的,它只會儲存在一個臨時變數裡面,前置的++i(--i)會直接改變i的值,所以就得到實驗**的結果了!

25樓:砍侃看

看結果是從右往左算的,其實研究這個沒什麼意義。不同的編譯器可能有不同的結果。

26樓:金城杞人

明顯是從右到左計算的

27樓:北望爸爸

x++初始值比++x小

28樓:莫悟軒轅良俊

++i是先加後用,i++是先用後加比如i=1,++i用時i=2了;i++用時i=1,用後才=2

c語言中語句 i 1,i 10 iii是

i 1,i 10 i 來 i i i 1,i 10 是真的情況表示式的自值 i i是假的時候 i i 1,i 10 這個是逗號運算子最終i 10,是真所以表示式的值是i i 10 12 1 這個我還真不好說,i的值為11,列印的值我也不敢肯定,可能是10可能是1,看編譯器了專,如屬果編譯器有布林值的...

c語言中與的區別,c語言中「 」與「 」有什麼區別?

c語言中 與 的區別如下 是否為單行註釋 是用於多種語言的單行註釋語句。是註釋語句,不限制行數,在 和 之間的即為註釋。實用性的區別 是用於多種語言的單行註釋語句,適用方便快捷,但是實用性不如多行註釋 是註釋語句,不限制行數,在 和 之間的即為註釋,實用性大,但是符號鍵盤敲打麻煩。程式編譯時,不對註...

c語言中a與a有什麼區別,C語言中a與a的區別是什麼?詳細一點,謝謝!

這要看a是什麼了,如果a是指標變數,那麼a代表這個指標變數,a代表這個指標變數所指向的目標。如果不是指標那麼 a不是正確的寫法。c語言中a 與 a的區別是什麼?詳細一點,謝謝!a 是先返回a的值,再執行 運算。a 是先執行 運算,在返回a的值。例如 include int main a 7a 先使用...