Re: [問題] 沒做什麼,值卻不一樣了
※ 引述《wk4xu4j (ha)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: 問題(Question):
: 想寫DFS,但是卻卡在造圖這邊。
: 在初始的時候將node的key設為零,兩行都是print設的key值,第一行
: 印出0第二行key值卻跑掉了,讓我沒辦法將其他點接上去
: 餵入的資料(Input):
: 1
: 1 2
: 預期的正確結果(Expected Output):
: First 0 Second 0 ha ha2
: 錯誤結果(Wrong Output):
: First 0 Second 2293700 ha4
: 程式碼(Code):(請善用置底文網頁, 記得排版)
: http://codepad.org/03ppPPLG
: 補充說明(Supplement):
: 不知道哪裡出錯了,麻煩大家幫我看一下,謝謝。
tree_pointer InsertNode(int key);
這裡面需要用動態配置 (會占用heap的空間)
因為main funtiobn call InsertNode 後
stack 會往下多一個stack frame
如果沒用動態配置
當 InsertNode return 後
你 return 的指標 (head),指向的內容會被其他function call的stack frame
再利用,但是我是不確定指標指向的記憶體有沒有被釋放掉
(應該是沒有被釋放掉,否則head所指向的東西應該就不是struct node型別)
(應該也無法印 head->key了)
而且我覺得有點怪的地方是
為什麼 first 與 second 印出來的執會不一樣就是了?
有請高手!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.173.131
※ 編輯: Laleh 來自: 114.45.173.131 (11/12 00:07)
→
11/12 00:08, , 1F
11/12 00:08, 1F
※ 編輯: Laleh 來自: 114.45.173.131 (11/12 00:08)
→
11/12 00:09, , 2F
11/12 00:09, 2F
→
11/12 00:10, , 3F
11/12 00:10, 3F
→
11/12 00:11, , 4F
11/12 00:11, 4F
→
11/12 00:12, , 5F
11/12 00:12, 5F
→
11/12 00:14, , 6F
11/12 00:14, 6F
推
11/13 01:04, , 7F
11/13 01:04, 7F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
13
22