#include "stdio.h"
#include "stdlib.h"
#define maxsize 10
typedef struct
seqstack;
seqstack *initstackchar();
int empty(seqstack *s); //判空棧
int push(seqstack *s,char x); //入棧
int push1(seqstack *s,int x); //數字入棧
int pop(seqstack *s,char *x); //出棧
int pop1(seqstack *s,int *x); //數字出棧
char gettop(seqstack *s); //取棧頂
int exp(); //主要函式
int in(char ch,char *opset); //判斷元素是否屬於運算子的一種
char compare(char x,char ch); //作對比
int coutnum(int th2,int th1,char op); //計算
int main()
seqstack *initstackchar()
int empty(seqstack *s) //判空棧
int push(seqstack *s,char x) //入棧
}int push1(seqstack *s,int x) //入棧
}int pop(seqstack *s,char *x) //出棧
}int pop1(seqstack *s,int *x)
}char gettop(seqstack *s) //取棧頂第乙個元素
int exp()
; seqstack *oprd,*optr;
oprd=initstackchar();
optr=initstackchar();
push(optr,'#');
printf("\n\nplease input an expression:");
ch=getchar();
ch1=getchar();
while(ch!='#'||gettop(optr)!='#')
push1(oprd,data);
} else
}}// val=gettop(oprd);
return val;
}int in(char ch,char *opset)
return 0;
}char compare(char x,char ch) //順序不可改變
int coutnum(int th1,int th2,char op)
表示式求值
程式的說明見清華大學出版社 資料結構 c語言版 include include define stack init size 40 define stackincrement 20 define ok 1 define false 0 typedef structs stack typedef st...
表示式求值
既然是表示式求值,自然需要在記憶體中儲存計算結果以及中間值。在 用c語言寫直譯器 一 中提過 變數要求是若型別,而 c 語言中的 view plaincopy to clipboardprint?in basic io.h define memery size 26 typedef enum var...
表示式求值
寫了乙個下午,各種糾結,各種問,終於搞明白了。但是自己還是想出來的一點東西的。很爽歪歪的,哈哈。先貼第一次的 include include include include include includeusing namespace std char data 7 7 int sign char ...