itStack(Stack&S){?S.top=-1;}intPop1(Stack&S){?if(S.top==-1)?{ printf("stackisempty!"); exit(1);?}?ElemTypetemp=S.stack[S.top];?S.top--;?returntemp;}intGetTop1(Stack&S){?if(S.top==-1)?{ printf("stackisempty!"); exit(1);?}?returnS.stack[S.top];}charPop2(Stack&S){?if(S.top==-1)?{ printf("stackisempty!"); exit(1);?}?ElemTypetemp=S.stack[S.top];?S.top--;?returntemp;}charGetTop2(Stack&S){?if(S.top==-1)?{ printf("stackisempty!"); exit(1);?}?returnS.stack[S.top];}charPrecede(chara,charb)//算符优先级函数{chartemp;switch(a){case'+','-':?{ if(b=='*'orb=='/'orb=='(') temp='<'; elsetemp='>';?}break;case'*','/':?{ if(b=='(') temp='<'; elsetemp='>';?}break;case'(':?{ if(b==')') temp='='; else temp='<';?}break;case')':temp='>';break;case'#':?{ if(b=='#') temp='='; elsetemp='<';?}break;?defaultbreak;}returntemp;}