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