Ans:->
The program to convert infix to postfix using stack in C language - Sparsh Blog
Program is as follows:--
#include <stdio.h>
#include <ctype.h>
char stack[100];
int top = -1;
void push(char x)
{
stack[++top] = x;
}
char pop()
{
if (top == -1)
return -1;
else
return stack[top--];
}
int priority(char x)
{
if (x == '(')
return 0;
if (x == '+' || x == '-')
return 1;
if (x == '*' || x == '/')
return 2;
return 0;
}
int main()
{
char exp[100];
char *e, x;
printf("Enter the expression : ");
scanf("%s", exp);
printf("\n");
e = exp;
while (*e != '\0')
{
if (isalnum(*e))
printf("%c ", *e);
else if (*e == '(')
push(*e);
else if (*e == ')')
{
while ((x = pop()) != '(')
printf("%c ", x);
}
else
{
while (priority(stack[top]) >= priority(*e))
printf("%c ", pop());
push(*e);
}
e++;
}
while (top != -1)
{
printf("%c ", pop());
}
return 0;
}
OUTPUT:---
Enter the expression : a+b*c+e/f
abc*+ef/+
0 Comments
If you want to give any suggestion regarding the post please feel free to Comment below-