c語言中,迴圈語句中的 i 和i 表達的意思一樣不

2021-05-25 21:38:14 字數 6544 閱讀 4870

1樓:腹劍懸針

c語言中bai,迴圈語句中的++i 和i++表達du的意思都是變數自zhi增1;

單獨是一個語句dao時無區別,專作為賦值表示式的右值時有屬差異:

例子:#include "stdio.h"

void main()

2樓:街角轉身

不一樣,++i 輸出的值是i+1後的值 i++ 輸出結果就是i的值

3樓:波波球

您好,再迴圈體

bai內他們連個是等du價的,僅僅表示自增zhi,但是dao通常使用i++

for(i=1; i<=10; i++)

{}先給 " i " 賦初版

值1, 判斷 " i " 是否

權小於等於10, 若是則執行語句, 之後值增 加1。再重新判斷, 直到條件為假, 即i>10時, 結束迴圈。

4樓:匿名使用者

如果單獨寫成一句,意思沒有區別,都是對i進行+1操作。

但是如果和其他語句組成符合專語句就不一屬樣了,例如,i = 10; a=++i;結果是a=11;而a=i++;結果是a=10;原因就是對於a=++i;由於++在前,所以先對i進行+1操作,所以a=11,而a=i++;++在後,所以先a=i=10然後再對i進行+1操作。

5樓:匿名使用者

不一樣,++i是先加1再賦值

i++則是先賦值,再加1

6樓:卒子的瘋狂

後置++的意思:先運算,後自增

前置++的意思:先自增,後運算

7樓:匿名使用者

++i與i++的區別:

前置操作符將i加1後直接返回i的結果;

後置操作符需要先返回i的值然後進行加1運算;

一般來說,前置操作符的運算工作更少,所以在二者作用基本沒有差別的話,以前者作為首選

8樓:匿名使用者

不一樣的。

++i:

復++在前面制,屬於前置運算,意思就

bai是先進行加法再

du賦值(給等號另zhi一邊的dao值);

i++:++在後面,屬於後置運算,意思就是先賦值再進行加法;

這兩種差異主要表現在賦值運算中。

比如 i=1;a=i++;cout <

i=1;a=++i;cout <

c語言的for迴圈的條件語句中 i++; 和 ++i; 有什麼區別?

9樓:々了了

表示式三的位置嗎?

那樣就沒有區別了

不過奉勸lz不要看++i 和i++在printf中得例子,例如 pirntf("%d",++i);

這個例子不恰當,涉及的東西更多,只需明白++的先後就可以了

10樓:匿名使用者

沒區別~

給個有區別的例子

a[i++] = 1

a[++i] = 1

前面相當於 a[i] = 1; i ++;

後面相當於 i ++; a[i] = 1;

11樓:匿名使用者

for迴圈如果後面沒有再用到i沒有區別

真要要說的話++i效率比較高

i++ 相當於 tmp = i, tmp++, i = tmp++i相當於 i = i + 1

12樓:

在迴圈中通常是在迴圈變數更新時用到i++; 或++i; 此時二者用法完全一樣沒有區別;

只有在考試時才會用到二者的真正區別吧。

13樓:匿名使用者

i++是先用i的值,在自增。++i是用i先自增,在使用自增後的值。

14樓:作風格

i++是先加再呼叫,++i是先呼叫再加

15樓:淘氣的峰

i++先執行再加

++i先加在執行

int i=1;

printf("%d",++i); //輸出是2——————————————

int i=1;

printf("%d",i++); //輸出是1

16樓:匿名使用者

for迴圈中確實是沒有區別的(功能實現上)!

17樓:匿名使用者

i++先比較i的值然後++

++i是先++然後比較i的值

在c語言的for迴圈中,i++和++i有區別嗎,i++是不是意味著先用i的指去做判斷再自身+1?

18樓:育知同創教育

在c語言的for迴圈中,i++和++i沒有區別,最後得到的結果都是一樣的,本質i都會加1

19樓:漆暮昀

++i是先自增後再執行語句,i++是先執行語句再自增。

20樓:今晚不要想我

i++ 是for 迴圈執行一遍後+1 ,++i 是已進入for 迴圈 就+1,

for(int i=0 ;i<1 ;i++)輸出的結果是 0 1

21樓:戶哲茂

沒區別 for(i=0;i<8;i++)

22樓:風鳴神羽

for迴圈是先執行迴圈體再自加的,所以沒區別

c語言程式設計中的++i和i++有什麼區別?

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;

int a=i++;

該程式執行後,a=10,而i=11。

2、i--,先引用i的值,後i的值減1。

如int i=10;

int a=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樓:手機使用者

++i在用時是i先自增1,再用這時的i值去參與計算;

i++是用增1前的i去參與計算,參與計算後i再增1;

例子:int i=0;

i++;

printf("%d",i);//這時打出的值為0;

printf("%d",i);//這時打出的值為1,因為i在上個語句中被用過了,本身的值增1

**********

int i=0;

++i;

printf("%d",i);//這時打出的值為1;

c語言中++i 和i++有啥區別啊?

25樓:寫在楓葉上的故事

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。

26樓:梅信望鵑

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。

27樓:六野枝安民

一直以來,++

--語法浪費了太多人的時間。說句實在話,++--在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++。

而且,這也是一種好的程式風格:++

--語句如非特殊需要,請單獨一行使用。

28樓:匿名使用者

關於自增自減運算,很多書籍沒有把問題講清楚,在c語言裡是這樣的:

1.後置運算:k++表示先運算,後自加。

意思是遇到k++了,我先把當前的k的值拿來參加運算,後面再去管它的自加。

那麼,【「後面」後到什麼程度呢?要後到當前的語句執行完,即遇到分號;表示

語句執行完了,所以k才自加1。】

如:int k=5,b=0;

b=k++;的意思就是,先算b=k(即b=5),遇到分號;表示語句結束,k才自加1,即k變為6。

2.前置運算:++k表示先自加,後運算

這個意思就是遇到++k了,先把k的值加了1,再往後執行別的。

如:int k=5,b=0;

b=++k;的意思就是,先把k自加1,即k為6,再算b=k(即b=6)。

掌握好這兩點,k--和--k也是一樣的道理。

29樓:容桂花壽戌

如果i的初值為1的話,

x[++i]相當於x[2],而x[i++]相當於x[1]

說明:不管++寫在i的前面,還是後面,對於i本身來說,都會自增。

30樓:濯振饒黎

中間這個

t[i]=s[i]

同時也是迴圈條件,每次執行時,先進行賦值,再判斷t[i]的值(因為賦值表示式的值就是左邊變數的值),如果為零則退出迴圈,否則繼續迴圈。這其實是把迴圈體與迴圈條件合併了。

31樓:鍾圖丙冬

++i是先將i=i+1;然後再用此時的i進行下面的步驟,i++是先在下面的程式中用此時的i的值,然後再i=i+1;

c語言中forilt5igt0i的迴圈執行完畢後i結

這個得看你的i初值如果小於零那就是i本身,如果i 0那就是無限迴圈剛才在dev上測試的 很明顯是 1 可以用一下 測試一下 for i 5 i 0 i printf d n i include int main 你用gcc再編譯一下自這個程式看看?肯定是 1的,如果是0,那麼是符合迴圈條件的。1不然...

c語言中include什麼意思,C語言中 include什麼意思

樓下說錯了,所有的非標準標頭檔案均必須使用 比如 include會報錯 無法找到該檔案。include就是包含標頭檔案 最基礎的stdio.h是標準的輸入輸出檔案,printf和scanf函式等在這當中。同樣的,自己也可以寫標頭檔案。可以直接指定標頭檔案目錄 在c語言中,include 被稱為檔案包...

c語言中ij是ij還是ij,C語言中i和j分別是什麼意思

使用gcc編譯是i j 不知道其他編譯器怎麼樣,不過不用糾結這種問題,在實際生產中,寫成這樣的程式設計師是會被解僱的,所以你不用擔心 i j 和 i j哪個是正確的c語言表示式 它等價於 表示式 i j 執行完畢再 分別執行 i 自增 1,和 j 自增 1.i j 是不正確的內表示式,因為 它被理解...