void trans(char *exp,char postexp[])
{
LiStack *op;
InitStack1(op);
int i=0;
ElemType e;
Push1(op,'=');
while(*exp!='\0')
{
if(!InOp(*exp))
{ while(*exp>='0'&&*exp<='9')
{
postexp[i++]=*exp;
exp++;
}
postexp[i++]='#';
}
else
switch(Precede(GetTop1(op,e),*exp))
{
case -1:
Push1(op,*exp);
exp++;
break;
case 0:
Pop1(op,e);
exp++;
break;
case 1:
postexp[i++]=GetTop1(op,e);
break;
}
}
while(GetTop1(op,e)!='=')
{
postexp[i++]=GetTop1(op,e);
}
postexp[i]='\0';
}
while(*exp ++ != '\0') //在这里自增 代码清晰。
这样写,把其它的 exp++; 给删除了。。。
代码不全。。。
InitStack1(op); 这个函数初始化成功没有??
Push1(op,'='); 这个操作如何??