我已经学习c++大约一个星期了,我以为我掌握了所有东西,但显然没有。我当时处于程序中期,因此决定运行run只是为了看看情况如何。该程序可以运行,但是永远不会结束。我期望它至少打印第一个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!");