方法一 只能精确到秒(不准), time函数返回值是long型(单位是秒),停留2500毫秒,可能结果是3秒,也可能是2秒。取决月time()函数返回值舍入。
#include <time.h>
#include <windows.h>
int main(void)
{
time_t start, finish;
double t;
time( &start );
Sleep(2500);
time( &finish );
t = difftime( finish, start );
printf( "\nProgram takes %f seconds.\n", t );
return 0;
}
方法二 精确 clock函数返回是毫秒数。
int main(void)
{
clock_t begin,end;
begin=clock();
Sleep(2500);
end=clock();
double t = (end-begin)/1000.0;
//printf("\nProgram takes %0.2f microseconds.\n",t);
}
总结
//为返回void类型,不带参数的函数计算时间
double check_time_pro(void (*f)()){
double t = 0.0;
begin=clock();
f();
end=clock();
return (end-begin)/1000.0;
}