若有以下說明inta101,2,3,4,

2021-03-19 18:34:21 字數 3812 閱讀 7954

1樓:匿名使用者

你是想說用地址法輸出陣列的值麼,那你就得

版這權樣寫

void main()}

2樓:汝河金採珊

你是想抄說用地址法襲輸出陣列bai

的值du麼,那你就得

zhi這dao樣寫

12345678void main()}

若有以下說明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則對陣列元素地址的正確表示是( )?

3樓:匿名使用者

編譯時 a &(a+1) 有問題, & 其實 是取地址操作6 30 c:\untitled1.c [error] lvalue required as unary '&' operand

b.a++ 也有問題

7 28 c:\untitled1.c [error] lvalue required as increment operand

c.&p 這個是表示 指標變數 p 的地址此題正確答案 是 d a+1,其實 是 陣列元素 a[1] 的地址,a[0] 的地址就是 a+0 就是 a

4樓:匿名使用者

陣列元素2的地址,可以用 a+1 表示。

應選d。

若有以下定義和語句: int a[10]={1,2,3,4,5,6,7,8,9,10},p=a; 則不能表示a陣列元素的表示式是( ) a) *p b)

5樓:墨汁諾

不能表示a陣列元素的表示式是( b) a[10] )----因為陣列a的最大下標只能是9,即a[9],

a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],一共10個元素。

a、*p ---表示取p指標指向的單元的值,即表示取陣列a的首個元素a[0]的值。

b、a[10] ---因為陣列a一共10個元素,從0開始計數,

即a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],正好10個,沒有a[10],所以a[10]就是不能表達這個陣列元素。

c、*a ----陣列名a中儲存的是陣列的首地址,*是取單元中的值,*a就是取陣列首地址中單元中a[0]的值。

d、a[p-a] --- p指向的是陣列a,因為p中與a同資料相同都是陣列a的首地址,而p-a就等於0,因此 a[p-a]就相當於a[0]。

6樓:匿名使用者

選b)a[10] a[0]、a[1]、a[2]......a[9]分別是陣列a[10]的十個元素,故a[10]不能表示a陣列的元素。

7樓:匿名使用者

選 b a[10]

陣列是從a[0] 到 a[9] 的。。。。。。

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

8樓:匿名使用者

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正確;

9樓:匿名使用者

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

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

a = 7 ;

b 的值是 a[6]=7

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

10樓:林聲飄揚

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

b>*(p+6)=7

c>p+5 是地址

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

所以選d

5.若有如下說明: int a[10]={1,2,3,4,5,6,7,8,9,10}; char b=』a』,d,e; 則數值為4的表示式是 。

11樓:

答案是c)

分析:a) a[4] 實際上是5

b) 因為d沒有初始化, 所以a[d-b]值無法確定c) 'd'-b等於3, a[3]的值為4d) 因為e沒有初始化, 所以a[e-b]值無法確定

12樓:帶淚的紫藤花

c陣列為4也就是陣列第四個元素,而陣列索引是從0開始的,也就是索引值為3的陣列元素為4,

'd'-b等價於'd'-'a'值為3~~~所以選c

13樓:匿名使用者

選擇 c 吧

『d'-b=3,字元相減就是字元對應的ascii相減。『d'的ascii 是100,b即 』a『(char b=』a』)的ascii是97.

14樓:我要好好睡了

cb='a',

'd'-b='d'-'a'=3

a[3]=4;選c;

若有以下定義,「int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a」,則值為6的表示式是

15樓:匿名使用者

c指標p指向a的首地址,就是存放a[0]的地址,值為6的陣列名是a[5],所以a,b首先排除

之後p是指標變數存的是地址,所以為了獲取值,應選c

16樓:一往無前的劉少

這個考的是c語言裡指標部分的知識,答案 a 。 b表示元素a[6],即7;c是一個表示式;d表示a[5]的地址,不是元素。

17樓:幽葉牧凡

c,因為*p指向a[0]=1,那麼*p+=5就是1+5

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

18樓:墨汁諾

選b記住這樣一抄

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

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

因為p是指向陣列

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

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

19樓:尚萌印蓮

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

20樓:人生如夢

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

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

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

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

21樓:匿名使用者

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

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

22樓:雪過了無痕

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

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

若有說明 int n 2,p n,q p則以下非法的賦值語句是

p n是非法的bai。指標 pointer 是程式語言中du的一個物件,利zhi用地址,它的值直dao接內指向 points to 存在電腦儲存器中另容一個地方的值。題目中int n 2,p n,q p 定義整型n,p是一個指向n的指標,它的值為n的地址。q是一個指標,q的值和p的值相同,也就是它倆...

若有說明語句 double p,a,則能通過scanf語句正確給輸入項讀入資料的程式段是

a是錯了.如果是這 bai些寫 double a double p a scanf lf p 是可以的du,p它是一個指向double型別的指標zhi,p a 是錯誤的,你把dao一個指標賦給內了 p,而 p是指標p指向的容地址的值即a,是一個int型,不能儲存指標的值 它的意思是 a.double...

設x,y,z,t均為int型變數,則執行以下語句後,t的值為

x y 且x y z 1,對於或運算,只要第一項正確,後面的就不用去考慮了。x運算後x變為2為真就不管 y的執行結果,這項表示式為1。後面一項,z,因為 運算優先等級大於 所以先計算 z,z計算後變為2,然後執行 且 運算。最後得出結果為1.設x,y,z,t均為int型變數,則執行以下語句後,t的值...