如何解决Postfix表达式的缀不返回
此后缀表达式转换器的前缀不返回任何表达式,运行代码时没有错误,但是在我输入表达式后,它应该返回字符串 postfix ,但是没有。 知道函数ifOprnd(),prcd(),topStack(),push(),is_emptyy()都可以正常工作
string
infinxToPostfix (string ex)
{
char topsymb;
string postfix= "";
int i;
char symb = ex[i];
struct stack e;
initStack (&e);
for(i = 0; i<symb; i++)
{
while (symb != '\0')
{
if(ifOprnd(symb))
postfix+= symb;
else
{
while (!is_emptyy(&e) && prcd(topStack(&e),symb))
{
topsymb=pop(&e);
postfix+= topsymb;
}
push(&e,symb);
}
}
}
while(!is_emptyy(&e))
{
topsymb=pop(&e);
postfix+= topsymb;
}
return postfix;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。