我正在尝试将charachter插入到三元搜索树中,请帮我解决这个分段错误? 这是我正在做什么来进行trie,在运行这个我得到分段错误(核心转储) 请帮帮我,为什么会这样呢?
int main(int argc ,char* agrv[])
{
TSTNode *root;
char *str;
cin >> str;
InsertTST(root,str);
DisplayTST(root);
return 0;
}
TSTNode* InsertTST(TSTNode *root, char *str)
{
if(root== NULL){
TSTNode *root = (TSTNode *)malloc(sizeof(TSTNode *));
root->left = NULL;
root->right = NULL;
root->eq = NULL;
root->is_end_of_str = 0;
return root;
}
if(root->data < *str)
InsertTST(root->right, str);
else if (root->data == *str){
if(*(str+1) != '\0')
InsertTST(root->eq, str+1);
else
root->is_end_of_str = 1;
}
else
InsertTST(root->left, str);
return root;
}
答案 0 :(得分:2)
char *str;
cin >> str;
没有内存分配,然后写入所述内存= seg fault。