online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include<stdio.h> #include<stdlib.h> #define max 50 typedef struct stack { char ar[max]; int top; }st; void push(st *,char); char pop(st *); char peek(st); int isfull(st); int isempty(st); void intopost(char [],char []); int getpriority(char); int main() { char expr[max],res[max]; printf("\nEnter the expression : "); fgets(expr,max,stdin); intopost(expr,res); printf("\nThe postfix expression is : "); puts(res); } void intopost(char expr[],char res[]) { st s; char ch; int i,j; s.top=-1; for(i=0,j=0;expr[i]!='\0';i++) { if(expr[i]==' ') continue; else if(expr[i]=='(' || expr[i]=='{' || expr[i]=='[') push(&s,expr[i]); else if((expr[i]>=48 && expr[i]<=57) || (expr[i]>=65 && expr[i]<=90) || (expr[i]>=97 && expr[i]<=122)) res[j++]=expr[i]; else if(expr[i]=='+' || expr[i]=='-' || expr[i]=='*' || expr[i]=='/') { while(!isempty(s) && getpriority(expr[i])<=getpriority(peek(s)) && peek(s)!='(') { res[j++]=pop(&s); } push(&s,expr[i]); } else if(expr[i]==')' || expr[i]=='}' || expr[i]==']') { while(!isempty(s) && (ch=pop(&s))!='(') { res[j++]=ch; } } else { //printf("Expression not ok"); break; } } if(!isempty(s)) { while(!isempty(s) && (ch=peek(s))!='(') res[j++]=pop(&s); } res[j]='\0'; } void push(st *s,char ch) { s->ar[++s->top]=ch; } char pop(st *s) { return s->ar[s->top--]; } char peek(st s) { return s.ar[s.top]; } int isempty(st s) { if(s.top==-1) return 1; else return 0; } int isfull(st s) { if(s.top==max-1) return 1; else return 0; } int getpriority(char ch) { switch(ch) { case '+': case '-': return 0; case '*': case '/':return 1; } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue