1樓:
*p=a; //p指向陣列首地址指標
p+=3; //移動指標指向第四個陣列內容7
d+=*p; //d加上p指向陣列內容(1+7=8)
2樓:匿名使用者
寫**要有個好的格式,你看這些**縮排後是不是很容易看了。
main()
,d=1,*p=a; //定義一個整型陣列a,初始化時有5個元素,所以陣列大小為5個
定義一個整型數d ,初始化為1
定義一個整型指標p,由於陣列名a即該陣列的首地址,所以該指標指向陣列a的首地址。
p+=3; //p所指向的地址往後位移3個單位,由於他指向的是整型陣列,所以他位移的單位是陣列的元素。即此時p指向的內容是 a[3]。
d+=*p; //*p即取p所指向的地址上的值, 該語句等同於 d = d + *p;
printf("%d\n",d);}
3樓:s如詩如夢
我給你詳細解釋了。
main()
,d=1,*p=a;
p+=3;
d+=*p;
printf("%d\n",d);}
#include
4樓:匿名使用者
pr是列印不,輸出9,9,11
一開始p指向a[5]的位置,就是11
j=3,p左移指向9,輸出*p也就是9
j=2,輸出*p也就是9再右移指向11
j=1,輸出*p也就是11在右移指向13
5樓:
題目不完整 pr是什麼玩意
執行inta5]=(1,3,5,7,9}*p=a;p++ ;程式段後,*p等於
6樓:匿名使用者
上面的**有bai點亂,猜測du
你是zhi要輸入這個:
dao#include
int main();
p=a;
p++;
printf("%d",*p);
}執行結容果如下:
7樓:匿名使用者
3當指標p被初始化時,其被賦值陣列a的首地址,即a[0]的地址p++後便指向下一個地址,指向了a[1],所以此時*p=3以後自己把**編譯一下就可以搞透了
另外要善用debug功能哦
8樓:匿名使用者
3p++後 ,p指向a的第二個元素3
main() {int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; p=a; pr
9樓:匿名使用者
結果選d。
194先換算成十進位制是404,404+9*2=422,轉成16進位制是1a6。
10樓:201求一份安逸
答案:d。
解釋:先要明白這兩個printf輸出的是地址,再是第一個printf輸出的194是一個十六進位制的數表示十進位制的404,然後要知道p+9表示p指標後的第9個位置的地址,前面有說明了int佔2個位元組,故只要在404的基礎上加18即422,然後再轉換成十六進位制輸出就是d的答案1a6。
11樓:供配電
main() { int a[]={1,2,3,4,5,6,7,8,9,0},*p ; p=a;pri8ntf("%d",*p+9); } 次程式的結果為什麼是9?
12樓:天雲一號
我執行出來結果是10 環境是vs2008int a=,*p;
p=a;
printf("%d",*p+9);
13樓:匿名使用者
這個結果對嗎?應該是10才對。
int a[3][2] = { 1,2,3,4,5,6 }, (*p)[2]; p = a; printf("%d\n",a); printf("%d,%d",*a,*a[0]); } 50
14樓:匿名使用者
二維陣列
可以當成每個
元素都是一個陣列的一維陣列
比如a[3][2] 可以當作一個一維陣列a[3], 但是a[3]的每個元素回都是答一個一維陣列..
那麼就好理解了 *a是a[0],但是a[0]自身是一個一維陣列,並不是一個數
所以*a[0], 或者**a 才是這個一維陣列的首個元素的值
15樓:匿名使用者
二維陣列的首地址是
來二級自指標,二級指標就是指bai針的指標,du意思就是一個指標指向了另一
zhi個指標。
假如:int **b , *a; b = &a; 所以dao*b中存放的是指標a指向的地址值, b就是a的地址值。
所以這裡的**a 和*a就是這個道理。這裡*a就是第一行首地址的地址值
16樓:哥德**的憂鬱
a是一個二維陣列的首地抄址,*a是對a相當於進行了一次降維,所以*a是一維陣列的首地址,也就是a[0],這麼說吧你可以把a[3][2]看成這樣子, },所以a指向的是這一整個陣列,*a指向才是陣列裡的一個元素,所以再對*a進行*運算,也就是**a,才會是第一元素的值,如果不懂歡迎追問哦。
17樓:育知同創教育
二維陣列不應該是**a才能取到1嗎?
18樓:王子易
你這什麼,題目看不懂
設有定義int a[]={1,3,5,7,9},*p=a; while(*p!=3) p++; 結果為7的表示式是: *(p+2)能否詳細解釋下
19樓:匿名使用者
int a=,*p=a; //定義一個陣列a,共五個元素;同時定義一個指標p指向陣列a的首地址
p -> a[0]=1 即p是a[0]的地址p+1 -> a[1]=3 p+1是a[1]的地址,下同p+2 -> a[2]=5
p+3 -> a[3]=7
p+4 -> a[4]=9
while(*p!=3) p++; //*p是取地址中的內容(資料),當*p不是3時,p++完成向後移動一個資料
當*p==3時,p當前值為 原p+1 ,即指向a[1]此時的p +1指向a[2]=5
所以,此時的p +2指向a[3]=7
即:*(p+2)==7
20樓:lzh劉振華
int a=,*p=a; //p為指標,p指向int型陣列a的首地址即 &a[0]
while(*p!=3) // *p 是p所指向的陣列的元素 ,當*p 的值是3時退出while迴圈
p++; // p指向陣列a的下一個元素。
當while迴圈結束時 p 指向 a[1]的地址,*p == a[1];
p+2 指向 a[1]下一個元素a[2]的下一個元素a[3],即p+2是指向a[3]的指標,所以*(p+2) 的值是7
21樓:匿名使用者
int a=,
*p=a; // 將首個元素地址賦給p 此時*p=1
while(*p!=3)
所以 結果為7的表示式是: *(p+2) 等價於 *(p+4)
22樓:孝感
初始時p指向a陣列的開始.
經過while(*p!=3) p++;
時p指向了3
所以p+2就是指向7這個位值.
已知int a[5]={1,3,5,7,9},*p=a;,則表示式*p+3的值是______.怎麼算的??
23樓:匿名使用者
表示式*p+3的值是4
*p是指向陣列a的指標,*p=a就是把p指向陣列a的首地址,也就是a[0]的地址。
所以*p的值就是a[0]的值,也就是1,所以*p+3的值就是1+3=4了。
不清楚的話請追問我。
o(∩_∩)o 望採納 哦 ~
24樓:葷三詩義斯
inta=,
*p=a;
//將首個元素地址賦給p
此時*p=1
while(*p!=3)
所以結果為7的表示式是:
*(p+2)
等價於*(p+4)
25樓:匿名使用者
當指標p被初始化時,其被賦值陣列a的首地址,即a[0]的地址
*p+3後便指向了a[3],
c語言 main() {int a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b}
26樓:半截小丑
main()
,b[4]=,*p=a,*q=b//p指向a的首地址,即1,q指向b,即6
p+=2;q+=3;//p地址後移2位,指向3,q同理指向9
*p=*(q)+3;//賦值語句,將q指向的內容加3賦給p,則p指向的值3變成12,q依舊為9
q--;//q地址前移1位,即8
*(q-1)=*(p+1)-5;//將p指向位置的下一位的內容即4減去5得-1,賦給q的前一位,則q的前一位變成-1,但q的指向位置沒有改變
printf("%d\n",*p);//輸出p的內容,即為12
printf("%d|n",*q);//輸出q的內容,即為8
} 這裡涉及到很多小知識點,如果不理解,歡迎追問,若滿意,請採納,謝謝
27樓:苗藍強令楓
inta[
]=:意思是a陣列為包含的整數陣列,
inta[
]=,*p=a:p是等效於a的整數指標,你應該這樣讀int*p=a;(*號跟著變數走)定義了一個指標等於a陣列首地址。
28樓:匿名使用者
你應該自己推導,**擋住了你的思路,再提問,這樣對你理解知識有幫助!
29樓:倫悅宜
p+=2;q+=3;p指標指向a[2],q指標指向b[3]*p=*(q)+3;把a[2]換成12
q--;q指標指向b[2]
*(q-1)=*(p+1)-5;b[1]換成-1printf("%d\n",*p);輸出12printf("%d|n",*q);8
30樓:匿名使用者
*p=a 表示指標p指向陣列a的首地址即第一個元素;*q=b指標q指向陣列b的首地址即第一個元素;
p+=2表示陣列a的第三個元素,q+=3表示b陣列的第四個元素。因此*p=3,*q=9;
*p=*(q)+3;這一句是把陣列的第三個元素修改為7;此時a=q--;此時q應指向陣列b的第三個元素
*(q-1)=*(p+1)-5;這一句是修改b中第二個元素為a中第四個元素的值減去5因此b=
一次輸出的結果應為12,8;
31樓:
想知道你寫的這個程式的意義是什麼。
自然數a b c d滿足1 d 2 1則1 d 6的值為
江蘇吳雲超 解 顯然,自然數a b c d中不能有1 否則由於1 1 2 1,1 a 2 1 b 2 1 c 2 1 d 2一定大於1 若有一個是2,則其餘三個全是3時1 a 2 1 b 2 1 c 2 1 d 2最大 而此時1 a 2 1 b 2 1 c 2 1 d 2 7 12 1 其餘三個大於...
自動檔D D1 D2 D3怎麼用
d擋為前進檔 d1 d2 d3都是前進擋,但有d1 d2 d3的變速器都為半自動試。作用只是對汽車最高時速的限制,也可說為手動檔的意思,原理和手動檔一樣。檔位越高速度越快扭力越小,反之檔位越低速度越慢扭力越大。設計半自動試變速器的另一個作用就是提升駕駛樂趣 降低駕駛疲勞的作用 自動擋好開.1,看看擋...
尼康D90 18 105 套機和佳能600D 18 135 套機哪個比較好
都是dx畫幅的機器。佳能600d操作比較容易上手。畫素比d90高。色彩也非常不錯。尼康d90都好幾年就出來了。也是個比較經典的入門機器。和600d比 600d上市的時間後些。要划算些。都是dx畫幅的機器,都是入門級,沒啥太大區別。主要的區別在於尼康適合拍風景,佳能適合拍人物。不權威地說 能用好佳能相...