c++ - “程序以退出代码结束:0”出现在我的输出开头?
问题描述
所以我的代码基本上应该读取后缀表达式并计算值。到目前为止,这是我的代码,它似乎可以工作,只是每次我在 Xcode 上运行它时,“程序以退出代码结束:0”出现在我的输出开头。我的代码中是否存在导致此问题的错误?此外,我应该只让用户输入同名变量的值一次,但总是必须输入两次。有没有简单的解决方法?
这是我的代码
#include <iostream>
#include <string>
#include <stack>
#include <sstream>
int main()
{
char input = 'y';
while (input == 'y')
{
std::string expression;
std::stack<int> myStack;
std::cout << "Enter a postfix expression with a $ at the end: ";
std::getline(std::cin,expression);
int i = 0;
std::istringstream ss(expression);
while (ss >> expression)
{
if (expression[i] >= 'a' && expression[i] <= 'z')
{
int number = 0;
std::cout << "Enter the value of " << expression << ": ";
std::cin >> number;
myStack.push(number);
}
else if (expression[i] >= '0' && expression[i] <= '9')
{
int number = std::stoi(expression);
myStack.push(number);
}
else
{
switch (expression[i]) {
case '+':
{
int number1 = myStack.top();
myStack.pop();
int number2 = myStack.top();
myStack.pop();
int total = number1 + number2;
myStack.push(total);
break;
}
case '-':
{
int number1 = myStack.top();
myStack.pop();
int number2 = myStack.top();
myStack.pop();
int total = number1 - number2;
myStack.push(total);
break;
}
case '*':
{
int number1 = myStack.top();
myStack.pop();
int number2 = myStack.top();
myStack.pop();
int total = number1 * number2;
myStack.push(total);
break;
}
case '/':
{
int number1 = myStack.top();
myStack.pop();
int number2 = myStack.top();
myStack.pop();
int total = number1 / number2;
myStack.push(total);
break;
}
}
}
}
std::cout << "\tFinal value = " << myStack.top() << std::endl;
std::cout << "Continue(y/n)? ";
std::cin >> input;
std::cin.clear();
std::cin.ignore();
}
return 0;
}
解决方案
这个问题似乎在 Xcode 版本 10.1 beta 3 (10O45e) 中为我解决了
推荐阅读
- wordpress - 如何在 WordPress 中检索 post_type 的查询列表?
- popup - 如何为gmail收件箱中使用inboxsdk创建的按钮添加操作?
- angular - 如何重新订购 Angular 材料表?
- haskell - 具有任意输入的 Haskell 函数
- python - 相互查询熊猫
- java - 如何使用 Streams API 展开扁平化层次结构
- ios - 如何在 iOS 12.0 的 UserDefaults 中保存对象数组。使用任何数组 [[String: Any]]
- amazon-web-services - EMR_EC2_DefaultRole 和 EMR_DefaultRole 有什么不同?
- java - 如何在 Java Reactor 中设置完全背压驱动的通量?
- laravel - 运行 php artisan queue 时出错:在服务器上工作