创建B树时,为什么明明case条件成立,却没有进入到case语句里?
完整代码:
```c
void CreateBT(BTNode*& b, char* str)
{
BTNode* p = NULL;
b = NULL;
BTNode* St[MaxSize];
int top = -1;
int k = 0;
while (*str != '\0')
{
switch (*str)
{
case '(':
top++;
St[top] = p;
k = 1;
break;
case ')':
top--;
break;
case ',':
k = 2;
break;
default:
p = (BTNode*)malloc(sizeof(BTNode));
p->data = *str;
p->lchild = p->rchild = 0;
if (b == NULL)
{
b = p;
}
else
{
switch (k)
{
case 1:
St[top]->lchild;
break;
case 2:
St[top]->rchild;
break;
default:
break;
}
}
break;
}
str++;
}
}
```