gpt4 book ai didi

c - 发现创建表达式树的错误

转载 作者:行者123 更新时间:2023-11-30 14:44:12 24 4
gpt4 key购买 nike

我正在尝试创建表达式树,但没有得到相关输出。在这段代码中,我多次尝试检查代码中的错误,但我找不到错误。请有人帮我解决这个程序中的错误。

#include<stdio.h>
#include<stdlib.h>

struct tree
{
char a;
struct tree *llink;
struct tree *rlink;
} *stack[20];

int top=0;

void push(struct tree* root)
{
stack[top]=root;
top++;
}

struct tree* pop()
{
return stack[top--];
}

void inorderdisplay(struct tree *temp)
{
if (temp!=NULL) {
inorderdisplay(temp->llink);
printf("%c ",temp->a);
inorderdisplay(temp->rlink);
}
}

int main()
{
int i;
struct tree *root;
char exp[100];

scanf("%s",exp);

for (i=0; exp[i]!='\0'; i++) {
root=(struct tree *)malloc(sizeof(struct tree));
root->a=exp[i];
root->llink=NULL;
root->rlink=NULL;

if( exp[i]>=65 && exp[i]<=90);
else {
root->llink=pop();
root->rlink=pop();
}
push(root);
}
inorderdisplay(stack[0]);

return 0;
}

最佳答案

我应该将 pop 函数中的 return 语句替换为

return stack[--top];

关于c - 发现创建表达式树的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53605908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com