首页 > 试题广场 >

ANSI库这样描述clock()函数: #in

[问答题]

ANSI库这样描述clock()函数:

#include<time.h>
 clock_t clock (void);

clock_t是在time.h中定义的类型。clock()函数返回处理器时间,其单位依赖于实现(如果无法得到或无法表示处理器时钟,该函数返回值-1)。而同样在time.h中定义的CLOCKS_PER_SEC是每秒的处理器时间单位个数。因此,求出两次调用函数clock()的返回值的差,再用CLOCKS_PER_SEC去除这个差值,结果就是以秒为单位的两次调用之间的时间间隔。在做除法之前,将值的类型指派为double类型,可以将时间精确到小数点以后。编写一个函数,接受一个时间延迟数作为参数,然后运行一个循环,直至这段时间过完。编写一个简单的程序测试该函数。

推荐
#include <stdio.h>
#include <time.h>
void delay(double time);
int main(void)
{
 double time;
 printf("input a time(in seconds) to delay(q to quit):");
 while( scanf("%lf",&time) == 1 )
 {
 delay(time);
 printf("time is out!\n");
 printf("input a time(in seconds) to delay(q to quit):");
 }
}
void delay(double time)
{
 double origin;
 origin = clock() / CLOCKS_PER_SEC ;
 while(clock() / CLOCKS_PER_SEC < origin + time);
}

编辑于 2018-03-18 21:49:25 回复(0)