表示式求值 多位

2021-06-18 22:26:54 字數 1227 閱讀 4817

#include #define maxsize 100

using namespace std;

//****************

char positive = '+';

char negative = '+';

//****************

typedef struct dopnd

opnd;

typedef struct roptr

optr;

//初始化棧

template void init(type& sta)

//入棧

template void push(type& sta,value val)

//取棧頂元素

template val gettop(type& sta,val val)

template bool isempty(type& sta)

//判斷ch是不是運算子

bool isoperator(char ch, char op)

} //是運算元

return false;

}//判斷運算子棧頂元素和讀入運算子的優先關係

char precede(char sta_operator,char input_perator)

; char carr[7] = ;

int x = -1,y = -1;

for(int i = 0; i < 7; i++)

return csearchtab[x][y];

}//根據操作符計算兩個運算元的值

int operate(int first_number, char operator, int second_number)

return ires;

}//將新讀入的字元與運算元棧頂元素拼接

void conn(opnd& operand,char ch,bool flag)

else

}flag = true; //操作符下一必為運算元

switch(precede(gettop(operator,'0'),ch))

break;

case '=':

break;

}} }

int res = gettop(operand,49);

cout<<"結果得: "

}

表示式求值

程式的說明見清華大學出版社 資料結構 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 ...