在开始之前,这是代码:
#include <iostream>
#include <ctime>
using namespace std;
int main() {
int i = 0;
while (true) {
i++;
cout << i << endl;
clock_t time = clock() + 1000;
while (clock() != time);
}
return 0;
}
所以,基本上,它可以工作,但是,在一段时间后它只是停止倒计时但程序仍在运行。我是C ++编程的新手,我不知道如何解决这个问题。有人可以帮帮我吗?
编辑:我不知道如何修复我的程序仍在运行,我想知道如何修复它而不是随机输出数字。答案 0 :(得分:1)
while (clock() != time);
如果你超过time
,这很可能是clock()
递增的速度,那么你将永远陷入这个循环。
使用<=
代替,这样任何更大的clock()
值都会打破循环。
顺便说一句,忙碌的等待是所以 1970年。你应该选择某种类型的“定时等待”,直到持续时间过去为止。