C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) MacOS 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在macOS一直出現segmentation fault(數字越來越大) 在win10結果錯誤1232367 在Linux正確無誤1245367 餵入的資料(Input): 預期的正確結果(Expected Output): 124532 錯誤結果(Wrong Output): [1] 2658 segmentation fault >./a.out [1] 2710 segmentation fault >./a.out 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> struct Node{ int data; struct Node *_child; struct Node *_child2; }; struct Node *creatTree(){ struct Node *_node = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node2 = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node3 = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node4 = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node5 = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node6 = (struct Node*)malloc(sizeof(struct Node)); struct Node *_node7 = (struct Node*)malloc(sizeof(struct Node)); _node -> data =1; _node2 -> data =2; _node3 -> data =3; _node4 -> data =4; _node5 -> data =5; _node6 -> data =6; _node7 -> data =7; _node -> _child =_node2; _node -> _child2=_node3; _node2 -> _child =_node4; _node2 -> _child2=_node5; _node3 -> _child =_node6; _node3 -> _child =_node6; _node3 -> _child2=_node7; return _node; } void printAll_DFS(struct Node* node){ if(node!=NULL){ printf("%d",node->data); if(node->_child!=NULL){ printAll_DFS(node -> _child); } if(node->_child2!=NULL){ printAll_DFS(node -> _child2); } } } int main(){ struct Node * tmp = NULL; tmp = creatTree(); printAll_DFS(tmp); printf("\n"); } --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.123.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1498465781.A.A1C.html
1F:→ ptt0720: 補充一下 這是在做完整二元樹的走訪 用DFS06/26 16:31
2F:→ Hazukashiine: 我剛剛在linux上測:124536706/26 16:35
3F:→ Hazukashiine: 你的 _node[4-7] 的 _child(2) 沒有 initialize06/26 16:37
4F:→ Hazukashiine: 把 malloc 改成 calloc 試試06/26 16:37
※ 編輯: ptt0720 (140.114.123.150), 06/26/2017 16:56:38
5F:→ ptt0720: 1245367無誤 我改正了 請問初始化哪邊呢 06/26 16:57
6F:→ ptt0720: 初始化成null嗎 06/26 16:57
7F:→ ptt0720: 成功了 非常感謝 請問windows系統沒報錯console也錯有人 06/26 17:02
8F:→ ptt0720: 知道原因嗎 06/26 17:02
9F:→ Hazukashiine: 初始化為 null 這個 scenario compiler 不太容易 06/26 17:29
10F:→ Hazukashiine: 偵測出 "use uninitialize values" 所以要用其他的 06/26 17:29
11F:→ Hazukashiine: 工具像是一些動態分析器 06/26 17:30
12F:→ Hazukashiine: null -> NULL uninitialize -> ~d 06/26 17:31
13F:→ Hazukashiine: 雖然我不確定用 calloc 取代 assign to NULL 有沒有 06/26 17:32
14F:→ Hazukashiine: 符合語言標準 但是我的經驗這樣做基本上沒問題 06/26 17:33
15F:→ Hazukashiine: https://stackoverflow.com/questions/29800636 06/26 17:35
16F:推 MIKEmike07: Use Valgrind 測測看 06/26 17:49
17F:→ hunandy14: 請問~是直接設0就好嗎 calloc(sizeof(Node), 0); 06/27 01:16
18F:推 Bencrie: 讀手冊 06/27 09:26
19F:→ hunandy14: 看一下,誤會用法了...已為像是 new T(value); 06/28 20:14
20F:→ TobyH4cker: 寫一個createNode做申請跟初值化解決 07/03 04:39
21F:推 kevin85421: struct中的pointer若是沒有初始化則address pointer 07/11 10:57
22F:→ kevin85421: 中存的address會跑掉,所以我一直很佩服可以不用class 07/11 10:57
23F:→ kevin85421: 來maintain一個大型的project的人 07/11 10:57
24F:→ dou0228: struct 寫的好,是可以非常類似 class 的 07/12 09:41
25F:→ dou0228: 樓上講的,看一下 Linux Kernel,只用 C 寫 07/12 09:42
26F:→ dou0228: 那不叫做 pointer address 跑掉,要記得自行 initial 07/12 09:46







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP