马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在练习借助栈计算后缀表达式时遇到了一些问题,输入表达式后按enter就报段错误,请大家帮忙看看代码有哪些问题。int main()
{
stack<double> st;
while(true)
{
char c = cin.peek();
if(c == '\n')
{
break;
}
if(c >= '0' && c <= '9')
{
//读入数字
double num;
cin >> num;
st.push(num);
}
else
{
//读入运算符
cin >> c;
EvalMethod method = select(c);
double num1, num2;
num1 = st.top();
st.pop();
num2 = st.top();
st.pop();
st.push(calc(num1, num2, method));
}
}
int result = st.top();
st.pop();
if(st.empty())
{
cout << result << endl;
}
else
{
cout << "Error" << endl;
}
return 0;
}
|