1樓:魂夢藍
用生活中的數學來講就是
第一種相當於:
x=1+1
第二種相當於:
x=y+1
y=1兩種結果一樣,第二種不過是繞了個圈子,把結果賦值過去了希望能幫到你
2樓:匿名使用者
沒有什麼不同啊!都是將i使用之後再加一,對於陣列元素s[i++]和s[i]是相等的。s[i++] 只是比
s[i] i++寫法上簡單一點,其實功能是一樣的。
3樓:水清寒
沒區別 都是計算了s[i]的值,然後i+1
c語言 i++和++i什麼區別?
4樓:楓璽
i++和++i都是c語言裡的自增,但是它們自增的順序不同。++i表示,i自增1後再參與其它運算,而i++ 則是i參與運算後,i的值再自增1。
for迴圈裡迴圈變數增值用i++,而不用++i是因為在迴圈結構裡需要迴圈變數來結束迴圈,而使用i++則會導致本來應該繼續的迴圈少執行一次,所以迴圈結構裡通常都是迴圈變數在一次迴圈結構執行完成之後再自增。
擴充套件資料i++和++i前置後置區別的例子:
1、a = i++;
相當於 a = i; i++;
2、a = ++i;
相當於 i++; a = i;
3、int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d\n", a, b);
結果是3,5。++前置:i自增1後再參與其它運算;++後置:
i參與運算後,i的值再自增1」。很明顯,a = i++;由於是先執行賦值運算,再自增,所以結果是a=3,i=4;而b = ++j。
5樓:丿染指流年丶丶
c語言 i++和++i的區別:
1、i++式子值為i原來的值,就是通俗說的「先賦值再加1」;
2、而++i式子值為i變化後的值,也就是「先加1後賦值」。
而在for迴圈中,如果要表示遞增,兩種都可以。
6樓:匿名使用者
對於變數i來說都會在原來基礎上加1的,重點區別於式子本身的值;
1、i++式子值為i原來的值,就是通俗說的「先賦值再加1」;
2、而++i式子值為i變化後的值,也就是「先加1後賦值」;
在for迴圈中,如果要表示遞增,兩種都可以。
7樓:匿名使用者
下面我們通過一些例項來深入理解自增運算子的特性,自減運算子同理自悟例:int i=3;
int j=4;
i++;
++j;
printf("%d, %d\n", i, j);
對此,eric想大家都不會有什麼困惑,結果就是 4,5;下面我們來做一點小改動:
int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d\n", a, b);
結果又是多少呢?這裡就開始體現出++前置與後置的區別了,結果是3,5。結合此例,我們回頭再來理解一下「++前置:
i自增1後再參與其它運算;++後置:i參與運算後,i的值再自增1」。很明顯,a = i++;由於是先執行賦值運算,再自增,所以結果是a=3,i=4;而b = ++j;
則因先自增,然後再賦值,所以b,j均為5。
8樓:匿名使用者
i++和++i相同之處是i都自增一,不同是i++表示式的值就是i,因為i++是先賦值後加值
而++i表示式的值是i+1,因為++i是先加後賦值如,i=1,i++表示式為1,++i表示式的值為2,至於你說的for迴圈裡迴圈變數增值 要用i++ 而不用++i ,個人認為從迴圈變數(i)增1考慮,兩者沒有區別,應該要看到完整的程式才能說用哪個
希望這些對你有用!o(∩_∩)o...
9樓:匿名使用者
i++表示遞增不在迴圈中則表示i的值+1;
i++與++i的區別是
i++是先操作後賦值 也就是如果你在此輸出i++;
還是輸出的i的值,便是你在i++;後面再寫一句輸出語句則i的值就變了;
而++i則是先賦值後操作,同理在++i的時候輸出會得i+1的值,在後面輸出也一樣
10樓:匿名使用者
您好!通俗來講以++為例,++a表示先+1後賦值,a++表示先賦值後+1;--則與之相同,-1而已。
比如int a=1;int b=++a;b的值就是2,a的值也是2。如果是int b=a++,則b的值是1,a的值是2。這都是指的區域性變數。--類似
for迴圈裡也可以++i,for迴圈裡的++i沒有賦值順序可言,比如for(int i=0;i<10;++i)也是從0到9迴圈
希望能幫到您!敬請採納!
中國物聯網校企聯盟
11樓:匿名使用者
i++的作用是先對i進行操作再++;
如: int a = 1;
int b = a++; //此時先運算b=a,再a++,故b=1,a=2
int c = --a; //此時先--a,再運算c=a,故c=1,a=1
12樓:匿名使用者
他們主要區別在於:如i=5
++i是先把i的數值增加1,在使用該值如(++i,那麼使用的值就是6,)
i++是先使用該數值,使用後在i的值在+1如(i++,那麼使用的值就是5,但是該句話執行之後i的值依然是6 )
for迴圈裡兩者是一樣的效果
13樓:匿名使用者
錯略低看,++i和i++的作用相當於i=i+1,但是++i和i++的不同之處在於++i喜歡i先執行i=i+1後,在使用i的值,而i++是先使用i的值後再執行i=i+1.
14樓:夢之陽
++i是i先加1 在計算 i++先計算在加+1! i++和++i都可以用只不過初值不同!!不過一般都用i++!!!
15樓:匿名使用者
i++是先運算後自加,而++i是先自加後運算!
16樓:經沙陳峰
一直以來,++
--語法浪費了太多人的時間。說句實在話,++--在c語言中其實是乙個很細節的語法,除了表達簡練外,真的沒有什麼其它的好處了。
由於中國的c語言教程長期以來被譚浩強主宰,而譚又錯誤的把++--作為乙個c語言重點來教,並增加了一些難點,把本來很簡單的語法,搞得複雜無比!
簡單的來說,++i
和i++,在單獨使用時,就是
i=i+1。而a
=++i,相當於
i=i+1;a=
i;而a=
i++,相當於a=
i;i=i+1;
如果實在搞不明白++
--怎麼回事,那也不是什麼天塌下來的事。
因為a=++i完全可以寫成
i++;
a=i。
a=i++完全可以寫成
a=i;
i++。
而且,這也是一種好的程式風格:++
--語句如非特殊需要,請單獨一行使用。
c語言中c[s[i]]++是什麼意思,詳細點哦,謝謝!
17樓:匿名使用者
c陣列中bai的第s[i]下標
的值自du加;例如
:zhi
int s[5]=;
int c[5]=;
int i=2;
s[i]=3; //s陣列dao裡下標為2的值為專3c[s[i]]=4 //c陣列裡下標為3的值為4c[s[i]]++等於4+1 //所以得屬出這行注意:上面的格式只為好理解,不是正確的**寫法
18樓:匿名使用者
i是一bai個整數,
s是整du
數陣列,
c也是整數陣列
s[i]是s陣列中第zhii-1個元素
值,dao則s[i]也是整數,所以
專c[s[i]]是數屬組c中第s[i] - 1 個元素值最後c[s[i]]++是將c[s[i]]自增1,也即將c[s[i]]+1的值還儲存在c[s[i]]中
19樓:匿名使用者
問題太不清楚了吧
字面上的樣子等價於
int x = s[i];
c[x];
++c;
20樓:匿名使用者
for(i=0;i<12;i++)c[s[i]]++;
當源i=0時,就是c[1]++ //因為s[0]=1;
當i=1時,就是c[2]++ //因為s[1]=2;
後面同理
#include
main()
,c[5]=,i;
for(i=0;i<12;i++)
for(i=1;i<5;i++)printf("%d",c[i]);
printf("\n");
}執行一下就明白c[s[i]]++的意思了
21樓:副部v觀後感
最後是怎麼得出4,4,3,2的呢?
c語言中++i 和i++有啥區別啊?
22樓:寫在楓葉上的故事
i++和++i都是c語言裡的自增,但是它們自增的順序不同。++i表示,i自增1後再參與其它運算,而i++ 則是i參與運算後,i的值再自增1。
for迴圈裡迴圈變數增值用i++,而不用++i是因為在迴圈結構裡需要迴圈變數來結束迴圈,而使用i++則會導致本來應該繼續的迴圈少執行一次,所以迴圈結構裡通常都是迴圈變數在一次迴圈結構執行完成之後再自增。
擴充套件資料i++和++i前置後置區別的例子:
1、a = i++;
相當於 a = i; i++;
2、a = ++i;
相當於 i++; a = i;
3、int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d\n", a, b);
結果是3,5。++前置:i自增1後再參與其它運算;++後置:
i參與運算後,i的值再自增1」。很明顯,a = i++;由於是先執行賦值運算,再自增,所以結果是a=3,i=4;而b = ++j。
23樓:梅信望鵑
i++和i--的區別:
1、運算方式
i++屬於自增運算,相當於i=i+1;
i--屬於自減運算,相當於i=i-1;
2、值的變化:
假設i=10,分別執行i++、i--後;
i++後:i=i+1=10+1=11;
i--後:i=i-1=9。
擴充套件資料:
無論i++,還是i--,這兩個公式既可以單獨存在,也可以賦值給另外的變數。當賦值引用的時候,他們的含義:
1、i++,先引用i的值,後增加i的值,
如int
i=10;
inta=i++;
該程式執行後,a=10,而i=11。
2、i--,先引用i的值,後i的值減1。
如int
i=10;
inta=i--;
該程式執行之後,a=10,i=9。
除了以上的用法外,還有一種表示法是++i或者--i,這種表示法i的值也會相應的自增1或者自減1,i的結果和i++與i--是相同的,但是當賦值給另乙個變數時,對賦值的變數,結果卻存在差別,因為++i代表先增加,後引用,--i代表先減少,再引用。
例如同樣的程式,i=10,
如果int
a=i++,那麼a=10;而int
b=++i的話,b=11;
如果int
a=i--,那麼a=10;而int
b=--i的話,b=9。
24樓:六野枝安民
一直以來,++
--語法浪費了太多人的時間。說句實在話,++--在c語言中其實是乙個很細節的語法,除了表達簡練外,真的沒有什麼其它的好處了。
由於中國的c語言教程長期以來被譚浩強主宰,而譚又錯誤的把++--作為乙個c語言重點來教,並增加了一些難點,把本來很簡單的語法,搞得複雜無比!
簡單的來說,++i
和i++,在單獨使用時,就是
i=i+1。而a
=++i,相當於
i=i+1;a=
i;而a=
i++,相當於a=
i;i=i+1;
如果實在搞不明白++
--怎麼回事,那也不是什麼天塌下來的事。
因為a=++i完全可以寫成
i++;
a=i。
a=i++完全可以寫成
a=i;
i++。
而且,這也是一種好的程式風格:++
--語句如非特殊需要,請單獨一行使用。
c語言中a和a的區別,C語言中a和a的區別
an和a的區別,用法區別 如果要列印的值是a 如printf d a 那列印出來的只是a的值.但是第二次列印的a值就是回 後的值.就是先答列印後 a就是先改變a的值,再列印出來.具體差別你可以自己試著執行比較一下.a a先加1,所以此時的a 9,所以輸出是9,a 是a先傳參,再減1,所以輸出是9。要...
c語言中和的區別C語言中和的區別
區別 1.運算子性質不同。是乙個位運算子。是乙個邏輯運算子。2.作用不同。是將兩個二進位制的數逐位相與,結果是相與之後的結果。就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。3.用途限制。除了是乙個位運算子,也是取位址符。就是乙個單純的邏輯運算子,沒有任何其...
c語言中的,c語言中的EOF
全文結束就是文字的結束,0 是字串結尾字元,在螢幕上敲的話,linux下輸入ctrl d,windows下輸入ctrl z,os下輸入f4,就能輸入eof。兩個while語句,前面乙個判斷讀取字元是否為eof,後面乙個判斷讀取字元是否為換行字元。如果敲回車的話,沒有eof,只有 r,r是回車符。全文...