[問題] ACM 311 (題目已解,但有個觀念不太確定)

看板C_and_CPP (C/C++)作者 ( )時間12年前 (2013/11/09 13:47), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DevC++ v5.4.2 Win7 32bit 問題(Question): 題目: http://zerojudge.tw/ShowProblem?problemid=c110 大致上有解完題目,有改良一下題目 他要求輸出是"總共"需要多少箱數 我是改成輸出為 每種不同size尺寸各需要多少箱數 目前還沒寫到連續輸入直到輸入全為0才再秀出結果 只寫到輸入一次就馬上輸出 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/bBk1LO4A 我寫完的code 土法煉鋼,感覺code很不優,不過至少有答案了@@ 想問的是,第32行 static in result[6]; 如果沒寫 static 輸出就會一堆奇怪數字,我卡這卡很久 我的想法是,因為result的存活時間只在此function中 就算用p去指它,然後回傳p到main中, 回傳p後,function結束,接著result的內容就被記憶體釋放了, 所以p指到的是隨機位址,而該位址的值就會是亂數? 為了避免這種情況,才用static? 請問我這想法是對還是錯呢? 是否另有解釋? 謝謝各位!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.153.240

11/09 14:24, , 1F
result[]只存活在test裡面而已
11/09 14:24, 1F

11/09 14:45, , 2F
你可以在外面提供 result,傳 reference 進去
11/09 14:45, 2F

11/09 14:49, , 3F
P指的位址沒有改變,只是他指向的mem內容已經是錯的了
11/09 14:49, 3F

11/09 14:49, , 4F
你可以試著print address試試看
11/09 14:49, 4F

11/09 17:08, , 5F
to 1F版友,所以我原本想法是正確的囉^^?
11/09 17:08, 5F

11/09 17:09, , 6F
參考值當引數傳進去好像是c++的功能,我是用c寫的 @@"
11/09 17:09, 6F

11/09 19:02, , 7F
p 指到的位址沒有變,2F 的意思大概是傳 result 的
11/09 19:02, 7F

11/09 19:02, , 8F
address
11/09 19:02, 8F
文章代碼(AID): #1IVSnUYc (C_and_CPP)
文章代碼(AID): #1IVSnUYc (C_and_CPP)