为什么无论我输入什么,我的时循环一直触发
Why is my while loop triggering all the time no matter what I input?
我是一个初学者,我正在尝试使用一段时间循环进行作业,以计算有多少张门票通过大门以及它的登录方式。我以为我正确地编码了它,但是后来我遇到了运行时错误,并尝试将每个错误单击1乘1乘正常工作,但我什至无法让我的时循环不仅触发用户放入的任何内容。帮助您将不胜感激,我完全迷路了,我知道这是非常初学者。
#include <iostream>
using namespace std;
int main()
{
char answer;
cout << "start counting tickets? (y/n)" << endl;
cin >> answer;
while (answer = 'y')
{
cout << "ok" << endl;
cin >> answer;
}
return 0;
}
您在循环条件下使用分配。这是初学者犯的一个常见错误。您需要使用比较操作员。
使用
while (answer == 'y')
而不是
while (answer = 'y')
使用分配始终将评估为" true",因为C/C 中的分配评估为分配的值,并且除了0以外的任何其他内容都被视为" True"。为了避免这个错误,一些开发人员养成了将持续不断的习惯。例如:
while ('y' == answer)
这样,如果您错误地使用分配运算符,则编译器将生成错误。同样的原理也适用于"如果"语句。
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在尝试创建一个菜单,但我的代码一直在循环
- 如何找出为什么我的程序一直有一个无限循环?
- C++一直跳过我的"for"循环
- 如何在我的代码中修复无穷循环?我认为它跳过了第二个CIN,因此它一直在循环
- 为什么无论我输入什么,我的时循环一直触发
- 我的程序一直在循环,永远不会"return 0;".是编译器不好还是代码不好?
- C - 我的循环一直添加到0
- 我怎样才能一直运行循环,直到按下键 (C++)
- 而循环构造与 getline 函数相结合,一直持续到 EOF
- 应用程序一直接收分段错误-除非我添加一个for循环
- 因为某种原因,For循环一直在继续