gpt4 book ai didi

c++ - char 的 std::cin 导致无限循环

转载 作者:太空宇宙 更新时间:2023-11-04 14:49:15 24 4
gpt4 key购买 nike

我在 switch 之前的 cin 之后使用了 cout 语句来确定我遇到了第二个数字和字符 op 的问题,并且由于某种原因我进入了无限循环!!!我感觉我在语法上犯了一个小错误,但我不知道是什么。

#include<iostream>
using namespace std;
int main()
{
float a, b;
char op, ans;
do {
cout << "Enter first number, operator, second number: ";
cin >> a;
cin >> b;
cin >> op;
cout << "first number is: " << a << "second number is: " << b << "operator is: " << op;
switch (op) {
case '/':
cout << "answer = " << a / b << endl;
break;
case '*':
cout << "answer = " << a * b << endl;
break;
case '+':
cout << "answer = " << a + b << endl;
break;
case '-':
cout << "answer = " << a - b << endl;
break;
}
cout << "again? Y/N";
cin >> ans;
} while (ans != 'N' || ans != 'n');

cout << endl;
system("pause");
return 0;
}

最佳答案

并且永远不等于 n 或 N。您的 OR 条件总是会通过为真。尝试将其切换为

    while(ans == 'Y' || ans == 'y')

关于c++ - char 的 std::cin 导致无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20670394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com