程式語言考題一問 - 高考

Kyle avatar
By Kyle
at 2015-04-21T22:18

Table of Contents

※ 引述《pringles27 (拉拉)》之銘言:
: 請問各位大大
: 103年高考程設問題
: 題目:
: program b(){
: function a(x:integer){
: x=x+1;
: write(x,y);
: }
: var y:integer;
: y=1;
: a(y);
: write(y)
: }
: 其中以Y is passed by reference
: 印出的結果為多少?
: 高點答案是 2 1 而非 2 2
: 2 2
: 好奇的地方是reference不是共用記憶體
: 所以y在裡面時不是應該已變為2了嗎?
: 還是須等到}結束才把結果回寫回記憶體呢?
: 是我觀念有誤嗎? 請大大解惑??
我解釋一下,如果有錯請各位見諒,有一段時間沒看書了orz

pass by reference & pass by address是有差別的

pass by reference 是在找不到的時候順著鏈結往外找,直到找到參考為止
但如果找得到就直接使用,最後等function a()結束之後,把值寫回被參照的變數內

換句話說..

原題目裡面function a()有內容中有定義x,可是沒有定義y
因此使用x的時候,直接用參照值,參照到a(y)中y的值
但因為function a()內容中沒有定義y
所以function a()內部需要y的時候就必須透過鏈結方法向外層去找
最後找到外面的y
所以function a()裡面write(x,y)的結果是2 1

最後等到function a ()結束之後,參照的變數值會被參照回去

這邊要說一下

reference是相互的,但不是立刻改變的
參照變數與被參照變數的關係是
參照變數會去取用被參照變數的值
等到function 結束之後,才會把最後的結果回傳給被參照變數儲存


所以最後寫回去之後,外面的write(y)就會輸出2





想想看什麼叫做reference?
參考參照

實際上並不是不同變數名稱使用同一個address對應的值
只是參考使用而已


不知道這樣你看得懂嗎...@@

--
我應該是沒寫錯...

--
Tags: 高考

All Comments

Joseph avatar
By Joseph
at 2015-04-26T06:43
推,好文
Odelette avatar
By Odelette
at 2015-04-30T09:00
傳參考不是應該只是將傳進去的y 取一個暱稱叫x
Odelette avatar
By Odelette
at 2015-04-30T17:03
但是實際上 x 仍然是y 嗎 ??
所以 x 變了 真正的y 也會變
Elma avatar
By Elma
at 2015-05-04T09:32
A reference variable is an alias.
Andrew avatar
By Andrew
at 2015-05-08T04:21
應該是用同一塊記憶體空間吧@@?
Jessica avatar
By Jessica
at 2015-05-09T13:06
Call by value: get a copy
Call by reference:get an alias
Adele avatar
By Adele
at 2015-05-10T15:53
直接跑程式出來結果也是222
Agnes avatar
By Agnes
at 2015-05-10T19:48
謝謝大大 若以這角度來看 的確合理
Agnes avatar
By Agnes
at 2015-05-13T17:01
reference跟address的差別不是應該是差在自身等於別人的
address跟自身參考到別人的address的差別嗎@@?
Hamiltion avatar
By Hamiltion
at 2015-05-16T23:29
指向
Lucy avatar
By Lucy
at 2015-05-17T22:50
這篇的說法第一次看到@@有沒有相關資料可以參考一下?
Connor avatar
By Connor
at 2015-05-19T07:14
樓上我也覺得reference和address是這樣@@
Ivy avatar
By Ivy
at 2015-05-23T01:50
推!!謝謝弓大。

請問高考受訓住宿問題

Dinah avatar
By Dinah
at 2015-04-21T13:02
我幫正在台北受訓的朋友發問 由於她不曾跟陌生人住過,又有點膽小 再加上不習慣住宿的環境 而且她不喜歡那個輔導員 所以正在考慮退宿 (通勤時間約90分鐘,費用不是問題) 請問 1、這樣會影響到輔導員打的成績嗎? 2、以後作團體報告會不會很不方便? 3、在之後的學習上會有影響? 她擔心以上幾點因素,會嚴重到 ...

有關高考會計學的命題大綱

Andy avatar
By Andy
at 2015-04-21T08:38
大家好,我太太想要考財稅行政類科, 因為會計一直變來變去, 加上我自己離開念書有點久了, 因此想問問大家,確定一下會計學的考試內容, 關於考選部命題大綱的備註第2及第3點, 2.自民國101年起,試題如涉及財務會計準則規定, 其作答以當次考試上一年度經行政院金融監督管理委員會認可之國際財務報導準則 ...

103年國營電機甲,地特四等,港務錄取心得

Hardy avatar
By Hardy
at 2015-04-20T22:54
由於在準備考試期間,國營板、國考板提供的相關資訊讓我獲益良多, 所以分享一下小弟這一年來的讀書方法,希望對未來準備相同考試的考生有所幫助。 1.背景 成大工科碩士畢業,畢業退伍後在科技業工作約4年, 離職後即全職準備國考,要求只給自己一年的時間考試,沒考上即回業界工作。 準備時間103年5月初到1 ...

tkb熱流老師

Kristin avatar
By Kristin
at 2015-04-20T19:20
先說我是要考高考機械 不是考研究所喔!!! 不是考研究所喔!!! 因為我熱流底子很弱,光適聽沒辦法很有信心判斷哪位老師比較適合用來準備高考,所以來 請教各位大大 李祥:我聽了會著,板上大大是說要聽王立宏的,李祥的看書會比較詳細,不過重點是tkb沒 王立宏 郝德助: 比李祥生動多了,也大大聽的下去,但是 ...

我在國考的這些年

Elizabeth avatar
By Elizabeth
at 2015-04-20T15:32
[閒聊] 紓發讀書壓力或與板友互動,勿濫用此選項挑釁、引戰,或漫無 邊際用此選項發文。 原po進入國考江湖好幾年了,覺得或許有些心得對考友們有幫助, 以下將本人對於考試、讀書、補習、上考場的心得 做個小小分享與閒聊~(原po為一般行政考生) 一、根據個人考試經驗, ...