[問題] 請問這個二元樹哪邊出了問題??

作者: hunkchen2016 (我的雞巴女友)   2018-06-17 13:08:19
請問各位大大
我的程式在編譯的時候沒有問題
但是執行卻出現錯誤???WHY???
有強者可以幫我找出問題嗎???
我原本的struct如下
struct Node
{
int data;
struct Node *left_child;
struct Node *right_child;
};
後來我為了加入字串,所以改成
struct Node
{
int data;
char name[10];
struct Node *left_child;
struct Node *right_child;
};
然後修改了一下節點插入
但是就出現錯誤,奇怪的是編譯的時候
沒有問題,但是執行之後卻無法執行,出現下面訊離
作者: cphe (魔鬼藏在垃圾筒裡)   2018-06-17 13:15:00
肉眼debug曠日費時,最快就是看你加了哪些東西才掛掉從那開始找,要不然debugger開下去就知道死在哪了
作者: art1 (人,原來不是人)   2018-06-17 14:10:00
從錯誤訊息來看,似乎是記憶體配置錯誤,我猜是對齊問題?修改 char[10] 裡面的 10 看看,看能不能改到一個可以運作的
作者: outofyou   2018-06-17 14:31:00
bst_insert裡面放到p->name, p 可能為null。
作者: ilikekotomi (Young)   2018-06-17 14:41:00
用vs debugger發現你malloc的size是錯的newnode=(bt)malloc(sizeof(bt));typedef node *bt; 這樣你sizeof(bt)回傳的會是指標的大小 應該要是sizeof(Node)的大小才對我只有看runtime錯掉的部分 其他要靠你自己了至少改過以後可以跑到enter number的地方
作者: sarafciel (Cattuz)   2018-06-17 15:45:00
把指標拿typedef藏掉星號不是好的coding style,建議改掉

Links booklink

Contact Us: admin [ a t ] ucptt.com