C语言表达式计算器
为了方便了解流程,在程序中把计算过程也输出了.而且栈操作的实现部分也是自己实现的.程序用两个栈,optr寄存运算符,opnd寄存操作数和运算结果.输入的表达式以等号结束,例如:2*(1+2)=
/**************表达式计算器************/
#include <stdio.h>
#include <stdlib.h>G@0i%Wii%KW
#include <string.h>
#include <conio.h>
#include <malloc.h>0igEzW?*U,C
'Dr.v[(t
#define STACK_SIZE 1001z-uR!Z$hF
#define APPEND_SIZE 10
-dM&|!DpAq#_h(s
struct SNode{
float data; /*存放操作数或者计算结果*/ H;k!s[8@$Z,u
char ch; /*存放运算符*/&`*B$cc#OL;\ xvx B
};
"@.]3FMjj*J
struct Stack{Q m:c7k~%t(]W$];K
SNode *top;m'TH6}3J*_:bl5m p'a
SNode *base;
int size;l4Ny/V6zRn
};
/*栈操作函数*/
int InitStack(Stack &S); /*创建栈*/Pqi.l.A B3@A
int DestroyStack(Stack &S); /*销毁栈*/