以下代码运行一秒钟,然后运行时错误由node-> data = * data引起;使用递归创建二叉树时调用堆栈错误
Node *TreeCreate(int level, const char *data)
{
Node *node = malloc(sizeof(node));
if (node != NULL) {
node->data = *data;
}
if (level != 0) {
node->leftChild = TreeCreate(level - 1, data + 1);
node->rightChild = TreeCreate(level - 1, data + (int)pow(2, level - 1));
}
return node;
}
'data + 1' and'data +(int)pow(2,level - 1)'你确定你做得对吗? – roottraveller
用于在我的字符串中查找适当的字符,它依赖于我放置字符的顺序。 –