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

時間 2021-10-17 05:10:03

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 與 i的問題

海南特產大全 我知道你有什麼困惑了,我之前學習c語言看譚浩強那本書上就寫的很清楚,但最後,用到for迴圈裡面我就納悶了,該用i 還是 i呢?其實這兩個都等價於i i 1,只要在for迴圈裡面,不管是哪一個,在之前加1還是之後加1,運算的結果都是以i i 1來計算,所以 以下程式就很好理解了!程式執行...

c語言中ifi3的意思,c語言中 i 3 是什麼意思

蹦迪小王子啊 i 3是if語句的判斷條件,在i等於0的時候執行i 此時i 1,s i,s等於1 因為i 11,所以繼續版迴圈體,i不是3的整數倍的時權候就執行總而言之,在i等於0,3,6,9的時候執行i s i也就是s 1 4 7 10,也就是結果說的s 22 吉祥二進位制 if i 3 等價於if...

c語言中「for I 0 i2,i是什麼意思

韓亭晚區溪 for是一種迴圈語句 for應該包含3個語句 可以為空 第乙個是初始化條件 只執行一次 第二個是迴圈條件 滿足條件才會繼續迴圈 第三個是每次迴圈結束後都會執行的語句 一般是變數的增加,也可以不寫,放到迴圈裡寫所以這句話的意思就是 變數i初值賦為 0在i 8的情況下會進行迴圈 每次i自增1...