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...