2 回答

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
這個(gè)應(yīng)該是頭文件,但是公共函數(shù)應(yīng)該加上inline優(yōu)化一下。
enum 枚舉變量 BOOL
結(jié)構(gòu),包含一個(gè)double類(lèi)型和char類(lèi)型
int IsDigit(char); //判斷是否是數(shù)字(0-9)
int isp(char ch); //判斷是否是字符(A-Z) 返回相應(yīng)的InPriority數(shù)組中值
int icp(char ch); //判斷是否是字符(A-Z) 返回相應(yīng)的OutPriority數(shù)組中值
int Locate(char ch);//判斷是否運(yùn)算符(+,-,*,/,^)
猜想一下,這個(gè)估計(jì)是用來(lái)做詞法分析的,分析字符串的運(yùn)算表達(dá)式。
做編譯器?

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
static char Operator[]="#(+-*/^"; //?????
運(yùn)算/操作符。Operator[0]="#" 是 棧操作,push,pop. Operator[1]="(" 是 括號(hào),進(jìn)入一層。Operator[2]="+",Operator[3]="-",
Operator[4]="*",Operator[5]="/",是 加減乘除,Operator[6]="^" 是冪 運(yùn)算.
static int InPriority[]={0,1,3,3,5,5,7}; //????
進(jìn)入/輸入時(shí)的優(yōu)先級(jí)
static int OutPriority[]={0,10,2,2,4,4,6}; //?????
退出/輸出時(shí)的優(yōu)先級(jí)
for(y=stack[top--];isp(y)>icp(*p);y=stack[top--]) //?????
從棧頂起,往下查一個(gè)一個(gè)字符,按優(yōu)先級(jí)isp(y)>icp(*p)判斷循環(huán)終了。
- 2 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報(bào)