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 先使用...