求一段C语言代码 运用栈方式实现简单四则运算(输入中包含负数和括号)

2025-02-25 19:59:13
推荐回答(1个)
回答1:

如果减号出现在开头,或者紧挨着其它运算符即为负号
int neg=1; /* neg 为1时如果出现减号为负号,为0时为减号*/
int sign=1 ;/* sign表示数的正负*/
while((c != '=') || x != '=') {
if(neg&&c=='-')
sign=-1;
else if(c>='0'&&c<='9')
{
.....
s1=sign*s1;
push(num,s1);
neg=0; /*在数字后面出现的出现的-为减号*/

sign=1;
}
else if(isOperator(c))
{
....
if(c!=')')
neg=1; /*除了右括号,在其它运算符后如出现-为负号*/

}