gpt4 book ai didi

c++ - 为什么我的循环不能像我预期的那样工作?

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:46 24 4
gpt4 key购买 nike

我已经学习 c++ 大约一个星期了,我以为我已经掌握了一切,但显然不是。我在程序中间,决定点击运行只是为了看看情况如何。该程序运行,但永远不会结束。我期待它至少打印第一个 cout 语句。

#include <iostream>
using namespace std;

int main()
{
int floors, rooms, i = 0;
cout << "floors: "; cin >> floors;
while (floors > i)
{
cout << "rooms: "; cin >> rooms;
++i;
}
}

最佳答案

你没有“刷新你的输出”。根据不同抽象级别的不同设置,floors:然后可能不会显示提示,直到还有更多输出伴随它。

然后,您的程序会在您收到明显提示之前等待输入。

添加<< flush给你的cout确保文本显示在屏幕上的语句:

您还应该验证 cin 的输入成功,否则floors具有不确定的值,您的循环很可能会“永远”继续下去。

cout << "floors: " << flush;
if (!(cin >> floors))
throw std::runtime_error("Value provided for 'floors' could not be read into an int!");

关于c++ - 为什么我的循环不能像我预期的那样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38120018/

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