📄 evalpost.c
字号:
/****************************************************/
/* 求一个后缀表达式的值 */
/* 文件名evalpost.c, 函数名evalpost() */
/****************************************************/
double evalpost(char f[])
{ double obst[100]; /*操作数栈*/
int top=0;
int i=0;
double x1,x2;
while (f[i]!='#')
{ if (f[i]>='0' && f[i]<='9')
{ obst[top]=readnumber(f,&i);top++;}
else if (f[i]==' ') i++;
else if (f[i]=='+')
{ x2=obst[--top];
x1=obst[--top];
obst[top]=x1+x2;top++;
i++;
}
else if (f[i]=='-')
{
x2=obst[--top];
x1=obst[--top];
obst[top]=x1-x2;top++;
i++;
}
else if (f[i]=='*')
{ x2=obst[--top];
x1=obst[--top];
obst[top]=x1*x2;top++;
i++;
}
else if (f[i]=='/')
{ x2=obst[--top];
x1=obst[--top];
obst[top]=x1/x2;top++;
i++;
}
}
return obst[0];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -