2 qq 36551839 qq_36551839 于 2016.12.31 22:42 提问

C++编写延时循环有大神帮我一下吗?万分感谢!!!!
c++

#include "stdafx.h"
#include
#include
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
cout << "输入延迟时间,以秒: ";
float secs;
cin >> secs;
clock_t delay = secs * CLOCKS_PER_SEC;
cout << "启程\a\n";
clock_t start = clock();
while (clock() - start < delay)
;
cout << "Done\a\n";
return 0;
}
//我有看不懂这个1:clock_t delay = secs * CLOCKS_PER_SEC;
2: clock_t start = clock();
3: while (clock() - start < delay)
;
有大神帮我一下吗?
万分感谢!!!!

2个回答

caozhy
caozhy   Ds   Rxr 2016.12.31 23:01
已采纳
 clock_t delay = secs * CLOCKS_PER_SEC;
每个时钟花费的时间乘以秒数=总延迟时间

while (clock() - start < delay)
clock等于时钟计数,它和初始相比小于delay说明时间不够,于是执行分号,空循环。
直到延迟足够

因此实现了延迟
sum_TW
sum_TW   2017.01.08 19:49

最简单的理解的办法就是搞一个变量一直减,减到0为止。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!