設 int a 21,2,3,4,5,6p則(P 1)所代表的陣列元素是a 1怎麼算的

2021-04-18 07:37:51 字數 2099 閱讀 1260

1樓:匿名使用者

p[0]=a[0]

於是 *(p[0]+1) 也就是 *(a[0]+1)對於任意的*(a+b)都等效於a[b]

於是這裡 *(a[0]+1) = a[0][1]

設有變數定義 int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a;表示式**(p+2)=*p[2]的值?

2樓:潘良段幹宛菡

(*p)[2]=a表示來

將p定義為一個指向自

含2個元素的一維陣列的指標變數,那麼二維陣列就可以看作是一維陣列a[3],其中每一個元素都是一個一維陣列,a[1]=,a[2]=,a[3]=;

則p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即為5。

3樓:匿名使用者

**(p+2),*p[2]這兩個表示式是等價的,當然,**(p+2)=*p[2]是一個賦值表示式,最終的值還是a[2][0],即5

4樓:匿名使用者

作用是:a[2][0]被 a[0][2]也就是a[1][0]賦值

5樓:匿名使用者

**(p+2)的值為5

c語言 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,則值為3的是

6樓:馮老師(必果學院

這bai是一個指

針求du值的問題,答案zhi應該是a

答案分析如dao下:

首專先,所有的逗號屬運算子,是從左向右進行的,其值為右邊結果計算的值

a p+=2,*(p++) 先計算p+=2 再計算*p 最後計算p++ 表示式的值在第二步計算確定的 為p[2] = a[2] = 3。表示式計算完畢之後,p指向4

b p+=2,*++p 先計算p+=2,再計算++p 最後計算*p 表示式的值在最後一步確定 為4

c p+=3,*p++ 先計算p+=3,再計算*p 最後計算++ 表示式的值在第二步確定為4,而後a[3]的值變為5

d p+=2,++*p先計算p+=2,再計算*p 最後計算++ 表示式的值在最後一步確定,為4,而後a[2]的值變為4

7樓:匿名使用者

答案a.

陣列定義是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10

a. p += 2使p指向a[2], *(p++)表示先取*p的值, 然後p增加版1(指向a[3]), 所以取權得的值是a[2]=3

b. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然後取*p的值,所以是a[3]=4

c. p += 3使p指向a[3], *p++表示先取*p的值, 然後p增加1(指向a[4]), 所以取得的值是a[3]=4

d. p += 2使p指向a[2], ++*p對*p的值增加1, 所以取得的值是a[2]=a[2]+1=4

還有一種寫法是(*p)++, 表示先取*p的值, 這個值再增加1

int a[][4]={1,2,3,4,5,6,7,8,9,10} *p=*(a+1) 則值為

8樓:匿名使用者

選擇 b

int a[4] = ;

相當於int a[4] = ,,};

而int * p = *(a + 1);

表明 p 此時指向 5

所以要想輸出9, p 需要  += 4;

剩下就是 * 和 ++ 優先順序的問題了.

***************

* 和 ++具有相同的優先順序

* 和 ++ 具有 右結合的特性

所以 *p++ 就相當於 *(p++)

但是..... .... 尤其注意, 後置的 ++ 返回的還是當前的值, 然後整個表示式 求值完之後 才 += 1

所以 b 是正確 答案

對於c, ++p, p此時指向10, 然後 *p, 結果會是陣列中的10(此處是陣列中的10)

對於d, ++*p, 首先*p 結果是9, 再++, 輸出10 (此時的10 只是 9 + 1, 而不是陣列中的10)

若「p推出q」取值為假,則p取值為真 為什麼p取值不是可真可

你的選項中,a與d的連線項沒有顯示出來,可能是你輸入時的問題。這樣給你解答吧,你看著我的解答,對應選項,自己確定一下答案。當p q為假時,則p真,q假。那麼b是真的,c也是真的。如果a選項是p q,則a取值為假。如果d選項是p q,則d取值為 若 p推出q 取值為假,則p取值為真。為什麼p取值不是可...

設int a 5,b 4則表示式(a ba b 的值是5,該做如何解釋?麻煩高手解釋一下!謝謝啦

這個表示式先判斷 a b 這個邏輯式是否成立,在執行該判斷時a 5,b 4,故該邏輯式輸出0,同時該邏輯式執行b 故b 5.因為邏輯式輸出0,故執行冒號後一條語句,在執行語句過程中b 5,執行完之後b 6,也就是說b 語句在邏輯式和輸出過程中被分別執行了一次,而輸出地是執行語句過程中的值,因此是5....

求c語言大神!若有定義 double p 4則p是行指標,p佔儲存單元這句話是對的還是錯的

錯的,p是指向陣列的指標,估計可以叫行指標。但是p是指標,在pc上指標是4個位元組,所以p佔一個儲存單元是百分百錯的。急求c語言,如果不定義行指標 p 4 就只能一行一行輸出嗎?這樣行不行?源 可追問 請採納 include stdafx.h include void search int i,in...