已知 int x1,3,5,7,9,11ptr x則能夠正確引用陣列元素的語句是

2021-04-18 21:58:26 字數 2856 閱讀 8300

1樓:用飄柔洗腳丫

b,不是沒辦法引用吧 ,*(--p)因為p現在指向的是陣列的首地址,--p表示先--,那麼p將指向陣列首地址的前一個,那是什麼呢當然是空啦,所以這個在執行的時候應該會報錯。

2樓:匿名使用者

d。不過語句執行完以後 ptr指向的地址的內容就不確定了

3樓:牛肉乾

a.是首地址

b.ptr是陣列的首地址,再取內容得到第一個元素c.x[6]是第七個元素,世界舒服,無法輸出。

d.首地址自減這樣的地址不存在,沒有對應內容

4樓:

b,*(--ptr)沒辦法引用第一個元素··

已知:int x[]={1,3,5,7,9,11},*p=x;則能正確引用陣列元素的語句是

5樓:∮樣小樣

a. x是陣列名。陣列名代表陣列首元素的地址,是一個指明針型常量。

b. *(--p)是p先自減,再取所指向的元素。但p原先指向首元素x[0],自減後越界了。

c.當一個陣列x省略了中括號裡的數(用來指定陣列長度)時,說明花括號裡為全部陣列元素。所以這個陣列只有x[0]~x[5].

d.類似於b,*(++p)取了x[1]的值。 正確。

6樓:無憂網事

選擇da:x是陣列名,也是一個地址常量,總是指向陣列的開始。

b:--p已經超界了

c:陣列x共6 個元素,最後一個元素是x[5],因為c語言陣列下標從0開始,所以x[6]也超界

d:正確。實際就是陣列x的第二個元素,即x[1],值為3.

7樓:匿名使用者

選d --p就越界了,++p不越界 ;x是地址;x[6]同樣也越界

c語言程式題

8樓:

*ptr=x;//這裡ptr指向的是x陣列的開始地址也即是陣列中第一個元素的地址

*(ptr--) //ptr--是現將ptr當前地址的資料輸出,內在把容地址減1

*(--ptr)//*(--ptr)是ptr地址值先減1,在輸出地址裡的值,顯然地址已經是開始地址值,在減1輸出的東西已不是陣列中的元素。

9樓:匿名使用者

選項d 先讓ptr減一,此時ptr不指向陣列x,當然無法取得x陣列元素了

10樓:匿名使用者

因為d的--是前置的,所以要在當前值上減掉1,指標指的是x的首地址。再減掉1就錯誤了。後置的--則要到下個語句再執行。所以b取的就是x[1]的值

11樓:匿名使用者

*ptr=x;是把x陣列的首地址,給ptr指標。而*(--ptr)是引用x陣列首地址的前一個地址的值

若有說明int a[3][4] 則對a陣列元素的正確引用為

12樓:達豐

二維陣列引用基本格式:陣列名[行標][列標]。

行標和列標都是從0開始,最大下標為行(列)標長度-1。

比如:a[0][1],表示第一行第二列的陣列元素。

二維陣列:

由行和列組成的二維**形式的元素,其實也就是矩陣。

基本格式:

資料型別 陣列名[行長度][列長度];

行長度為二維陣列行的個數,必須為常量表示式,不能為變數。

列長度為二維陣列每一行列的個數,必須為常量表示式,不能為變數。

二維陣列包含的元素的個數是:行長度*列長度,其中每個元素佔據的位元組數是sizeof(資料型別),故二維陣列佔據的內在位元組數是 行長度*列長度*sizeof(資料型別)。

舉例:定義一個二維陣列a,包含4行4列的元素,每個元素均為int型別int a[4][4];

13樓:韓信靳婉

若有說明int

a[3][4];則對a陣列元素的正確引用是a[1][3]。

a[2][4]越界了

最後一個元素a[2][3]

引用時下標從0開始

第一行a[0][0]

a[0][1]...

第三行a[2][0]

a[2][1]...

程式1.

//定義為區域性性質的陣列

#include

void

main()

printf("\n");

}程式2.

//定義為全域性性質的陣列

#include

inta[5];

//定義為全域性性質的陣列

void

main()

printf("\n");}

已知int a[5]={1,3,5,7,9},*p=a;,則表示式*p+3的值是______.怎麼算的??

14樓:匿名使用者

表示式*p+3的值是4

*p是指向陣列a的指標,*p=a就是把p指向陣列a的首地址,也就是a[0]的地址。

所以*p的值就是a[0]的值,也就是1,所以*p+3的值就是1+3=4了。

不清楚的話請追問我。

o(∩_∩)o 望採納 哦 ~

15樓:葷三詩義斯

inta=,

*p=a;

//將首個元素地址賦給p

此時*p=1

while(*p!=3)

所以結果為7的表示式是:

*(p+2)

等價於*(p+4)

16樓:匿名使用者

當指標p被初始化時,其被賦值陣列a的首地址,即a[0]的地址

*p+3後便指向了a[3],

6 已知int x 1,y執行下述語句後變數x的值是Byx5x10 A 1 B 2 C 3 D

你要明白 這個的含義以及執行機制,操作,首先計算它前面的表示式 如果前面的表示式滿足,則計算 後面的表示式看滿足否。如果前面的表示式不滿足,則絕對不可能執行後面的表示式。因此,上述題首先執行 x 5,發現 x後x 2 5,因此前面不滿足,那麼整個條件不滿足,因此不可能執行 x 10這個語句,因此x ...

定義 int x 1,y 2,z執行z xy xy表示式後,x,y,z的值是

先明白x y z 這個表示式結果只有可能2個值,0和1,運算子有個特 回點,如果第一個表答達式結果是真,則後面的表示式將不執行,因為x 5,結果非零,所以這裡只執行了一個x 最後x 6,y 6,z 8 為三元運算子,例如 a?b c 表示如果a為真,則表示式值為b,如果a為假,則表示式值為c 先算x...

已知a1a3,求a,已知a1a3,求a1a

a 1 a 3 a 1 a 2 9 a2 2 1 a2 9 a2 1 a2 11 a2 2 1 a2 13 a 1 a 2 13 a 1 a 根號下13 a 1 a 3 a 1 a 2 a 2 1 a 2 2 2 2 a 1 a 2 4 9 a 1 a 2 13 a 1 a 正負根號13 a 1 a...