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...