#include
#include
#define OK 1
#define ERROR 0
#define STACKINCREMENT 5
#define STACK_INIT_SIZE 10
typedef char SElemType;
typedef int Status;
typedef struct{
SElemType *base;//栈底指针
SElemType *top;//栈顶指针
int stacksize;//当前已经分配的存储空间
}SqStack;
char precede[7][7]={
{'>','>','','>','','>','>','>','','>'},
{'>','>','>','>','','>'},
{'','>','!','>','>'},
{'':Pop(&OPND,&b);
Pop(&OPND,&a);
Pop(&OPTR,&theta);
Push(&OPND,Operate(a,theta,b));
printf(" %c\t ",c);//打印当前字符
printf("Operate(%d,'%c',%d)\n",a,theta,b);//打印该操作
break;//将结果入栈
case '=':Pop(&OPTR,&theta);
c = getchar();
break;//说明括号相遇 删除栈内括号即可
default:break;
}
}
}
Pop(&OPND,&result);
printf("结果是:%d",result);
}
int main(){
GetExpressionValue();
return 0;
} |