To evaluate postfix expression.
#include<stdio.h>
#include<ctype.h>
#include<math.h>
int s[20],top=-1;
int main()
{
char postfix[30];
int op1,op2,i,j,res;
printf("\n Enter Postfix Expression:");
gets(postfix);
for(i=0;postfix[i]!='\0';i++)
{
if(isdigit(postfix[i]))
{
top=top+1;
s[top]=postfix[i]-48;
}
else
{
op2=s[top--];
op1=s[top--];
switch(postfix[i])
{
case '+':res=op1+op2;
break;
case '-':res=op1-op2;
break;
case '*':res=op1*op2;
break;
case '/':res=op1/op2;
break;
case '%':res=op1%op2;
break;
case '^':res=pow(op1,op2);
break;
default:printf("\nInvaid Operator In Postfix Expression");
exit(0);
}
top=top+1;
s[top]=res;
}
}
printf("\n The Result of Postfix Expression is %d",s[top]);
return 0;
}
Comments
Post a Comment