i和a ii的區別,a i 和a i i 的區別

2021-03-11 10:56:42 字數 4745 閱讀 2738

1樓:莘元斐苟寅

前者bai可分解為a=i,i=i+1,即i的值先賦給a,i再加1;

後者指du

zhii=i+1,a=i,即i先加1,再把加1後的dao值賦給a;

兩者的區回別在於:比如i=1;前者得到的結果是答a=1;i=2;後者是a=2,i=2;

希望對你有幫助。嘿嘿~

2樓:神丶雨祭丨

在循bai環體中

a[i++]++

假設i=0

表示數du組第1個元zhi素開始每個元素等於原dao來的元內素加一完成迴圈容之後

陣列的每個元素都加了一

相當於for(i=0;i

3樓:施遠板嬋

前者運算:先是賦值等於a後。右邊再加1。後者是運算:先加1賦值等於左邊a。例i為3.則首先左式a=i++

結果a=3,

而a=++i結果是a=4

4樓:張振軒

a[i++] 不是賦值 是將a陣列裡的元素遍歷而a[i] = i++ 是將a陣列所有元素被賦值b[k]=" ";k++

是將字串陣列 b[k]所有元素賦值為空

5樓:匿名使用者

第一個將 a[i] 賦值為 =號後面的值,然後將 i 加一

第二個將 a[i]賦值為 i 當前的值 ,然後將 i 加一

6樓:匿名使用者

兄弟,這裡涉及到copy的知識點是賦值表bai達式是自右向du左執行。比如a[i++]=i和a[i]=i++是有區別的zhi。dao

假設i=0,第一個表示式a[i++]=i,a[0]=0,執行完本語句i=1;

第二個表示式:a[i]=i++先執行賦值後面到i++,i++=0,但是i已經變成了1,因此第二個表示式的意思為a[1]=0;

所以兩個表示式是有區別的,你可以單步除錯看下i值和資料a值的變化。

7樓:匿名使用者

a[i++]=

把值賦指的是 a的第i++ 個元素

b[k]=k++

指的是把 k++的值賦給b的第k個元素。

這些問題。不難,書上都有的。

首先要把書讀透讀爛!

要學會自己去尋找解決問題的方法。

加油~~~

i++和++i的區別

8樓:匿名使用者

a = ++i,相當於 i=i+1; a = i;

a = i++,相當於 a = i; i=i+1;

如果有表示式 a = i++  它等價於 a = i ; i = i + 1;

如果有表示式 a = ++i  它等價於   i = i + 1; a = i;

1 首先兩者的區別是:前者是先賦值,然後再自增;後者是先自增,後賦值

2 ++i和i++都是分兩步完成的。因為++i 是後面一步才賦值的,所以它能夠當作一個變數進行級聯賦值,++i = a =b,即 ++i 是一個左值;i++ 的後面一步是自增,不是左值。

3  ++i 和i++ 的使用,一般來說在迴圈域裡面,這兩者並沒有什麼很大的區別,因為編譯器一般都會給你做優化。但是要注意其生存週期,以及很難察覺的寫髒,就好像指標delete以後一定要賦予0一樣,我們要注意i值在程式流中的變化。

9樓:我不知道

簡單地說,都是i自加1。區別是,i++是執行完後面的語句才加1;而++i就先做i+1才執行後面的語句。

10樓:淺源深科

++ i 是先 ++ 再輸出,i ++ 是先輸出再 ++ ,兩者的執行順序要搞清楚

11樓:匿名使用者

關於自增自減運算

,很多書籍沒有把問題講清楚,在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也是一樣的道理。

12樓:匿名使用者

++i是在進行運算之前使i自增1,再用增後的值進行運算i++是在進行運算之後才使i增1,使用原值進行運算一次後,再使i自增1

你執行一下這個再體會體會就明白了:

i=1;j=1;k=1;t=1;

m1=i++ + i++;

m2=++j + ++j;

m3=k++ + ++k;

m4=++t + ++t;

(注:自增自減速運算只能對變數進行,常量和表示式不能進行該運算)

13樓:匿名使用者

workdinner回答的很對,i++使用後加1,++i使用前加1;

所以單獨用的話是顯示6和7,

你在一起用先顯示i++,顯示的是6,但i=i+1=7,再用++i所以顯示8

14樓:匿名使用者

++在後面,就是用了再加

++在前面,就是加了再用

所以,system.out.println(i++)中,++在後面,所以就是用了再加,故而先用了i,再把i+1.。

反正我就是這樣記得。。樓主可以參考下

15樓:浩劫

從c++ 的角度來看,兩者的效率以及左右值、作用差別都很大,以上答案都只說了作用或者左右值的區別。詳情請看我的部落格++i、i++、i+=1、i=i+1的區別不復制黏貼了

陣列a[++i}和陣列a[i++]有區別嗎?

16樓:自由↗定義

有區別,舉例說明:a[3]=;i=1;

那麼 a[++i]=a[2]=3;

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

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

c語言中a表示一個陣列,a[i++]與a[++i]到底有什麼區別?

17樓:l語言之父

a[i++]和a[++i]的區別:

相同點:i都加1,都使i的值變成下一個元素的序號。

異同點:a[i++]中i++是後自增,必須先使用當前元素的值再使用下一個元素的值,a[++i]中++i是前自增,可以直接使用下一個元素的值。

例子:# include

int main ()

;int i = 0;

printf("%d\n",a[i++]);//本輸出的值為1,因為是i++,所以是先使用a[0]的值,再加上1,即先輸出a[0]的值。

i = 0;

printf("%d\n",a[++i]);//本輸出的值為2,因為++i,所以直接使i加1,即輸出a[1]的值。

return 0;}

18樓:匿名使用者

舉個例子給是說吧

int narray[4] = ;

int i = 0;

int a = narray[i++];

i = 0;

int b = narray[++i];

//上面這個例子中,最後 a = 7,b = 4,//i++ 是使用i的值,然後使用完以後再自增1//++i 是先把i自增1,然後再使用i的值//所以a = narray[i++];就相當於a = narray[i]; i = i + 1;

//b = narray[++i]; 就相當於  i = i + 1; b = narray[i];

//這麼說你應該明白了吧

19樓:倒黴熊

a[i++] 相當於 a[i] i=i+1a[++i] 相當於 i=i+1 a[i]也就是說 一個先

使用i的值,然後改變i的值,一個先改變i的值,然後使用i的值。

例如 如果一開始 i=3 則 a[i++] 就是 a[3] 而 a[++i]就是a[4]

陣列a[i++]是等於a[i]還是a[i+1]?

20樓:舞亦香滿衣

a[i++]等於a[i]

例如:a[i]=10;i=1;則:

int y = a[i];

int x = a[i++]; // x=10;

// 此時i=2

----------------

i++是後加,也就是說表示式結束之後才自增。++i是先加,也就是說表示式運算之前就自增了。

21樓:彌敏博泉心

做n-1次迴圈並依次查詢陣列a中相鄰兩元素值,若相同則輸出該元素並置其為零,否則輸出該元素並再次迴圈

22樓:匿名使用者

等於a[i];

然後i自增1

23樓:愛神丘位元

等於a[i]然後i的值加1

24樓:匿名使用者

a[i++]++是什麼意思呢?有哪位大佬知道嗎?

i和I 的區別,i 和 i命令有什麼區別?

在遊戲中就 i 我加你 i是求人家加。區別在於 應答 與請求 在程式設計中i 和 i最終是一樣的,不過在迴圈體中,i 是先取出i,再加1,i先加後取 i是先i自加1,然後在使用i的值 i 是先用i的值,在i自加1 比如 include main a為0,因為i先賦值給a,然後自加1 b為1,因為j先...

i和i有什麼區別,i和i有什麼區別啊

i 是先對i操作,再對i執行 1 i是先執行 1,將值賦給i後,再對i操作 比如 int i 1 int a 1 i 執行過程是1 1,然後再將結果2賦給a,最後是i i 1 int a 1 i 執行過程是先執行i i 1,得到2,然後執行1 i,並將結果1 i賦給a i和i 有什麼區別啊?至於 i...

CDR和AI的區別是什麼

區別如下 1 主要應用領域不同 corel draw主要應用於商標設計 標誌製作 模型繪製 插圖描畫 排版及分色輸出等諸多領域,其功能可大致分為兩大類 繪圖與排版 ai主要從事平面設計方面,是圖形設計編輯軟體,同時也是向量繪圖軟體,主要製作向量圖形,並可以做小規模的排版,主要是配合ps製作廣告,雜誌...