100,1,2,3,4,5,6,7,8,9p a則輸出結果不為5的語句

2021-04-18 21:58:25 字數 3429 閱讀 9261

1樓:瀚漠

答案:d

對於陣列a[10],a就是該陣列的首地址,定義指標p賦值為a,那麼a和p的操作基本相同:

a[5]=p[5]=*(a+5)=*(p+5),對於d選項,p[5]是個int值,再取*就不對了。

2樓:假面

答案:d

對於陣列copya[10],a就是該陣列的首地址bai,du定義指標p賦值為a,那麼zhia和p的操作基本相同dao。a[5]=p[5]=*(a+5)=*(p+5),對於d選項,p[5]是個int值,再取*就不對了。

整數(int型別的常量)有幾種書寫形式,程式中的整數一般採用十進位制寫法。用十進位制方式寫出的一個整數就是普通數字字元組成的一個連續序列,其中不能有空格、換行或其他字元。

說明語句如下:int a[10]={1,2,3,4,5,6,7,8,9},*p=a;則數值為6的表示式是( )。

3樓:匿名使用者

d。表示式「*p = a」說明p指向a[0]的位置;

那麼 *p + 6 = a[0] + 6 = 7; a錯;

p指向a[0]的位置, 則p + 6 指向a[6]的位置,那麼 *(p + 6) = a[6] = 7; b錯;

p是一個指標,p的值本身是一個地址,p + 5顯然不可能為5; c錯;

上面說了, p指向a[0]的位置,那麼 *p = a[0] = 1;

*p += 5; 等同於 a[0] += 5; 等同於 a[0] = a[0] + 5 = 1 + 5 = 6;

顯然只有d正確;

4樓:匿名使用者

d 一開始定義了 *p=a,就是指等於a[0];它指向的是一個值!

*p+=5,可以變換一下 *p=(*p)+5 不就 a[0]+5=6.....

a = 7 ;

b 的值是 a[6]=7

c 是一個地址 &a[5] 不是值!

5樓:林聲飄揚

da> *p+6=>1+6=7

b>*(p+6)=7

c>p+5 是地址

d>*p+5=>1+5=>6

所以選d

20懸賞!!**等!若有以下定義:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 則值為3的是( ) 20

6樓:匿名使用者

*p=a,陣列名錶

bai示地址,該

du句話的意思就是p=&a[0],p+=2表示p=&a[2];

接下zhi來我們看看* ++的優dao先級版,兩個優先順序是一樣的,屬於右權結合。*(p++)首先計算p++,由於++在後面,所以*(p++)相當於計算*p,然後p++;所以a和c相同,至於d ++*p表示++(*p),將*p的值++。我不知道樓主用的什麼編譯器。

對於我的理解,如果是printf(「%d」,*(p++))這種樣式輸出的話,a 輸出是3,b輸出是4,c輸出的是4,d輸出是4

7樓:匿名使用者

應該是a,*(p++)和*p++是一樣的,都是先算p++【為p】然後算* 符【為*p=3】最後p自加

這是* 和++的右結合性。

c語言 int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 0<=i<=9,對a陣列元素引用不正確的是:

8樓:匿名使用者

b 是不是a[i]?? //是a[i]

c p[i] 是相當於a[i],這

不是在獲取元素a[i]的地址嗎? 為什麼

版c也正確?權?// p[i] 是相當於a[i]a 中為什麼能用用p減a??a[p-a]什麼意思?? //p的值就是a,所以p-a的值為0,相當於a[0]

d 是不是相當於*a[i], 因而不正確?? //是的*(a+i)就是a[i],那麼再*a[i]就錯了

9樓:擺渡人生

首選 (a+i)就是個地址 一個* 代表 這個地址的資料 也就是陣列第 i 個數字

再加個* 就沒有意義了。。

c語言指標問題。。 若有int a[]={0,1,2,3,4,5,6,7,8,9,0},*p=a,

10樓:匿名使用者

a: a[p-a] = a[0],即bai陣列a的第一個元素。du這裡的a沒有定義,估計應該本來是zhia吧,輸入題目的dao

時候不專小心句首自動大寫了

b: a[i]是數屬組a的第i個元素,&a[i]是該元素的地址,所以*(&a[i])是該元素的值。該項等價於a[i]

c: p[i] = a[i],即陣列a的第i個元素值d: 這個是錯誤的。*(a+i)是陣列a的第i個元素值,*(*(a+i))語法錯誤

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則數值為9的表示式是

11樓:墨汁諾

選b記住這樣一抄

個無條襲件相等的等bai式:

*(p+i)與p[i]無條件等價。

因為p是指向陣列

dua首元素的地址,所以zhip[i]又和a[i]等價。

易知b選項dao即為p[8],也即為a[8],其值為9。

12樓:尚萌印蓮

選ap是a[0]的地址*p=*p+7:*p是8b選項的*(p+8)是p[8],值是9c是*p+8=a[0]+8=9d就是一個地址

13樓:人生如夢

記住這樣一個無條件相等的等式:

*(p+i)與p[i]無條件等價。

因為p是指向陣列a首元素的地址,所以p[i]又和a[i]等價。

易知b選項即為p[8],也即為a[8],其值為9。選b

14樓:匿名使用者

是這樣的!*p是一指標!指向a的首地址!

所以只有b)是正確的,c)會將指標指向一個不明區域而造成錯誤!

15樓:雪過了無痕

應該是p[8]和*p+8都可以吧

或者*(p+8)也應該對

有定義:int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;敘述該

16樓:莊政警

int a[10]=; //定義了

一個int型別的陣列a,有10個元素,並初始化int *p=a;//定義了一個指向int型別的指回針,並使該答

指標指向陣列a的第一個元素

*a是a[0],值是1

*(a+2)是a[2],值是3

p[3]是a[3] 值是4

*(p+5)是a[5],值是6

如果p=p+4,那麼p就是指向a[4]了,p[0]就是a[4],值就是5

請教p a與p a,請教p a與p a 0 區別

p a中的a如果是一個陣列的話,a是一個首地址,p a 0 同樣是陣列a的首地址。也就是說a與 a 0 的地址是相同的,你的p和a是什麼啊,有沒有 p a又是怎麼定義的啊,不明不白 一個是一維一個是多維。請教p a與p a 0 區別 p a中的a如果是一個陣列的話,a是一個首地址,p a 0 同樣是...

郵政包裹PA04180555543和pa04180680843不知道怎麼查,找人幫忙

pa04180555543 2010 06 13 07 53 03 當前處理 包裹單已簽收 處理機構 榮灣鎮投遞班 處理時間 處理單位 郵件狀態 2010 06 07 17 09 41 衡陽市衡邵路所 交寄 回執 寄達地 湖南省長沙市 2010 06 09 18 26 00 長沙市 到達處理中心 2...

C語言中pa與pa有什麼區別

p a 0 令p所指向地址的內容等於a 0 p是一個一級指標 p a 0 令p所指向地址的內容等於a 0 的地址,p是一個二級指標。c語言中 p a 0 與p a 0 有什麼區別?對於指標來說,p a 0 表示向地址為p的記憶體區域賦值為a 0 p a 0 把變數p的值改為a 0 這個語句正常應用中...