#include <stdio.h> #include "SqStack2.h" #define STACKTYPE SqStack #define BOOL int #define TRUE 1 #define FALSE 0 BOOL isnumeric(char c) { return (c >= '0' && c <= '9') ? TRUE : FALSE; } int lv(char c) { int wt[] = {3,0,2,1,-1,1,-1,2}; return wt[c - '(']; } void expr() { char ex[] = "10+(3+4)*(12-6)"; int i,n; BOOL isNumber = FALSE;//上一个字符是否是数字,连续两个数字要合并 STACKTYPE st; init(&st); for (i = 0; ex[i] != '