infix to postfix conversion

c program :

#include<stdio.h>

char gloam[50],t,*a,u[200],s,i,f ;
int top =-1 ;

void push(char t){
    gloam[++top]= t;
}
char pop(){
    if(top== -1)
    return -1;
    else
    return gloam[top--];
}

int priority(char t){
    if(t == '(')
    return 0 ;
    if(t == '+' || t == '-')
    return 1;
    if(t == '*'|| t == '/')
    return 2;
}

int main()
{
printf("enter your expression  :");
scanf("%s",&u);
a = u;

while(*a != '\0')
{
    if(isalnum(*a))
    printf("%c",*a);
    else if(*a =='(')
    push(*a);
    else if (*a == ')'){
        while((t = pop()) != '(')
        printf("%c",t);
    }
    else{
        while(priority(gloam[top]) >= priority(*a))
        printf("%c",pop());
        push(*a) ;

    }
    a++ ;

   
}

while (top != -1)
{
    printf("%c", pop());
}
}

Comments