【发布时间】:2021-12-26 21:36:30
【问题描述】:
我想知道是否可以将包含在字符串中的计算存储为整数。例如:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string variable = "-123+432";
cout << stoi(variable) << endl;
}
这返回-123,有没有可能让它返回309?
另外,如果字符串内部有更多计算(例如“-123+432*2”),而编写程序的人不知道字符串中有多少计算(例如,字符串将由用户输入)怎么办?当程序运行时)。
谢谢大家的回答
【问题讨论】:
-
您将阅读反向波兰符号和调车场算法。这将帮助您构建一个可以标记表达式并允许您对其进行评估的解析器。
-
C++ 标准库不包括以字符串表示的数学表达式的运行时求值。您需要找到可以执行此操作的库或编写自己的库。