C语言表达式计算器
为了方便了解流程,在程序中把计算过程也输出了.而且栈操作的实现部分也是自己实现的.程序用两个栈,optr寄存运算符,opnd寄存操作数和运算结果.输入的表达式以等号结束,例如:2*(1+2)=
/**************表达式计算器************/
#include <stdio.h>,Q-s-t4T;`3lm7X
#include <stdlib.h> h`}1C"k#L
#include <string.h> v(X1OJRj
#include <conio.h>!g*u5P1\+?
#include <malloc.h>
wP5uS'c
#define STACK_SIZE 100,C0Xs,QA@J2Aj
#define APPEND_SIZE 10
Z_!J,^A*`hgA]
struct SNode{
float data; /*存放操作数或者计算结果*/e B`zE4Z;p%k8K
char ch; /*存放运算符*/]%]\!Rw
};
6X!y,dcu9Vv
struct Stack{e~pO/kD*U5R
SNode *top;
SNode *base;
int size;
};