100年普考程式設計概要 - 普考

Candice avatar
By Candice
at 2017-03-16T20:42

Table of Contents

※ 引述《blueclock (小楊)》之銘言:
: [考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處
: 請問下列 C 程式片段執行後,a 陣列的內容為何?
: #define N 10
: int a[N]={1,2,3,4,5,6,7,8,9,10};
: int *p=&a[0], *q=&a[N-1], temp;
: while(p < q)
: { temp=*p;
: *p++=*q;
: *q--=temp;
: }
: 答案是{10,9,8,7,6,5,4,3,2,1}
: 我的想法是
: p是儲存a[0]的位址
: q是儲存a[9]的位址
: 而a[0]的位址永遠比a[9]小
: 那while為何不會成為無窮迴圈?
您把指標的定義有點搞混了,
先說明,在宣告時,*p指「p」是指標,
但在運算時,*p代表取值,而&a代表取址,
所以宣告int *p=&a[0],是讓他們互為別名,
而程式中的p和q本來就是指標,所以p代表a[0]的內容,q代表a[9]的內容,自然比的就是內容值。

: 再來就是*p和*q的值分別指的是a[0]和a[9]的內容
: 為何做加減也會影響到陣列內其他元素的值?
: 求解惑
您又誤會指標的加減了,*p++,代表的是*p所指的位址++,等同於a[0+1]
同理,*q--,等同於a[9-1]

PS: 教學相長,希望認真的人都考上(包括我T.T)

-----
Sent from JPTT on my Asus ASUS_X00DDA.

--
Tags: 普考

All Comments

Barb Cronin avatar
By Barb Cronin
at 2017-03-21T15:17
比的不是內容是位址喔
Dinah avatar
By Dinah
at 2017-03-22T23:37
變數名稱是p,型態是int*,*p++應該是p去做++
Franklin avatar
By Franklin
at 2017-03-26T18:40
指標一定要搞懂不然就GG惹
Linda avatar
By Linda
at 2017-03-30T19:26
a大說的是,抱歉,弄錯了,所以*p++和*q--其實就是指標的
加減法位移,也就是p和q都交換內容,並且往中間靠
Susan avatar
By Susan
at 2017-04-02T21:31
感謝各位大大的詳細解說 受益良多
Susan avatar
By Susan
at 2017-04-04T05:58
*p++,因為*與++的優先權相同,運算時要以右結合性運算,
先算p++,
但因為是後置加要等到這行運算式後才會計算,所以先計算*
p=*q,執行完,再計算p++
Victoria avatar
By Victoria
at 2017-04-06T03:57
?
讚a
Catherine avatar
By Catherine
at 2017-04-07T12:35
*p++=*q;會轉譯成 *p=*q; p=p+1

100年普考程式設計概要

Candice avatar
By Candice
at 2017-03-16T11:41
[考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處 請問下列 C 程式片段執行後,a 陣列的內容為何? #define N 10 int a[N]={1,2,3,4,5,6,7,8,9,10}; int *p=andamp;a[0], *q=andamp;a[N-1], temp; ...

1060313高普考命題大綱修正新增刪除一覽

Dorothy avatar
By Dorothy
at 2017-03-13T19:44
情報來源:考選部 http://wwwc.moex.gov.tw/main/news/wfrmNews.aspx?kind=3andamp;menu_id=42andamp;news_id=2814 日期 106/3/13 下午 05:58 標題 公告公務人員高等考試三級考試暨普通考試修正「政府會計」 ...

106初等交通行政上榜心得(非高分考取)

Erin avatar
By Erin
at 2017-03-12T18:54
各位前輩好, 小弟這次有幸考上初等交通行政, 有跟文昌帝君許願一定要發心得回饋, 不過小弟不是那種當榜首高分考取的, 因此方法就看大家怎麼調整了 ----------------------------------------- 經歷: 中部某夜市大學商科畢業 國考經驗: 大學剛畢業時考過人事行政高普考 不 ...

地特一般民政上榜心得文

Adele avatar
By Adele
at 2017-03-12T12:14
〈文長慎入,內容非短期準備方法,慎入慎入〉 我是在國考版潛水很久的萬年考生, 平常也是靠著版上許多前輩的文章才能一路支撐著考下去, 這次地特有幸能夠上榜, 想說真的很感謝能有這樣的機會能在這和大家分享考試準備的過程和上榜的的感動! 雖然接下來是不太專業的考取心得文, 但也希望能夠像以往上榜學長姐的心得文一樣 ...

高普考需用名額 3402人

Hazel avatar
By Hazel
at 2017-03-11T21:23
高普考需用名額 3402人 新聞網址:http://tinyurl.com/h4z88cc 2017-03-11 07:13聯合報 記者呂思逸/台北報導 高普考是報考人數最多的國考,考選部本周公告,今年高普考開辦152個類科,需用名額 3402人,類科相較去年減10科、名額約減5%,預計7月7至11日考 ...