在这里,我试图从给定的后缀表达式创建一棵树。当我尝试执行第一个 printf 语句时,它成功执行,而第二个没有,程序就挂断了。
mynode *create_tree(char postfix[])
{
char symbol;
int i,k;
mynode *temp,*stack[100];
for(i=k=0;(symbol=postfix[i])!='\0';i++)
{
temp=(mynode *)malloc(sizeof(mynode));
temp->data=symbol;
temp->left=NULL;
temp->right=NULL;
//printf("%c",temp->data);
if(isalnum(symbol))
{
stack[k++]=symbol;
}
else
{
temp->right=stack[--k];
temp->left=stack[--k];
//printf("%c %c\n",temp->left->data,temp->right->data);
stack[k++]=temp;
}
}
return stack[--k];
}