栈 计算器 C++(接上一篇文章)
考虑负数
for(i=0;i<c.length()-1;i++){
char x=c[i];
if((x>='0' && x<='9') || (x=='-' && c[i-1]=='(')){
int a,b;
if(x=='-'){
a=-1;//数字正负
b=0;
}else {
a=1;
b=x-'0';
}
int j=i+1;
char aa=c[j];
while(aa>='0' && aa<='9'){
b=b*10+aa-'0';
aa=c[++j];
}
b=b*a;
s1.push(b);
i=j-1;