若有以下說明和語句且0 i 10。int a1,2,3,4,5,6,7,8,9,

2021-05-27 10:23:19 字數 2628 閱讀 3479

1樓:愛是一責任

p+i這是a[i]的地址

*(p+i)才是a[i]得值

若有以下說明,並且0≤i<10,則( )是對陣列元素的錯誤引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10},

2樓:三水聞不足

b選項在括號中p-a是同型別的指標變數的減法,結果是地址值相減,然後除以int所佔位元組大小,故b項等價於a[i],在就好選了,故選c

3樓:匿名使用者

c錯誤p + i, 顯示的是地址,不是陣列元素值。應該為*(p + i)

4樓:刀下風

很顯然是c, 題目要求是對陣列元素的引用,而c是對地址的引用。

若有以下定義和語句: 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,10},*p=a;則對陣列元素地址的正確表示是( )?

8樓:匿名使用者

編譯時 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

9樓:匿名使用者

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

應選d。

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

10樓:匿名使用者

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

11樓:匿名使用者

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

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

a = 7 ;

b 的值是 a[6]=7

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

12樓:林聲飄揚

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

b>*(p+6)=7

c>p+5 是地址

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

所以選d

若有以下定義和語句:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;不能表

13樓:莊政警

答案是d

a *p就是*a就是a[0]

b p[3]就是a[3];

c *a就是a[0]

d a[10] ,a陣列只有10個元素,最後一個是a[9], a[10]不屬於a,這是記憶體越界

若有以下的說明,對初值中整數2的正確引用方式是

a 2 3 是一個兩行三列的二維結構體陣列,在初始化列表中只給出了前三個元素的初值,分別賦予a 0 0 a 0 1 和a 0 2 陣列a剩下的元素都保持預設值。我們要找的整數2是第二個元素的成員i,因此先用a 0 1 定位到第二個元素,然後用.i取得其成員i的值。合起來就是a 0 1 i。後面定義的...

在c語言中,若有以下函式

第一次 fun 2 y 1,x 2y 2 1 y 3 y y 3 第二次 fun fun 2 x fun 2 y 3 因為y是靜態變數,fun 2 是返回值y 靜態區域性變數儲存在全域性資料區,而不是儲存在棧中,每次的值保持到下一次呼叫,直到下次賦新值。y 3 1 y y 4 y 12 結果為12 ...

若有以下定義 int a1,2,3,4,5,

p 的結果是a 3 也就du是4 但是p 本身的zhi值是a 2 即為3.換句dao話說,p 後,p的值會加 版1,但是你在程權序里加一句n p 就可以看到n的值還是p。a的意思應該是p 本身的值。補充一點,如果是 p的話,值就是a 3 了。不管是p 還是 p,結果都會自增1,但是它本身的值要看加號...