C语言中用clock()函数来测量函数(算法例程)运行时间

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
    clock_t start_time, end_time;
    double duration;
    start=clock();//开始计时刻 
    for (int i = 0; i < 10000; i++)
    {
        func(); // 这里是要执行的函数
    }
    finish=clock();//终止计时时刻 
    duration=(double)(end_time - start_time) / CLOCKS_PER_SEC; // 除以 CLOCKS_PER_SEC 来将时间转化为以秒为单位
    printf("%f
",duration);
    return 0;
}

这里写出来主要是想要注意一点,就是在 cast duration 等式右边部分为 double 类型时,不要加括号,这里我们是要把 (end_time - start_time) cast 为 double 类型的,如果不慎写成了下面这样:

duration=(double)((end_time - start_time) / CLOCKS_PER_SEC);

那么我们得到的数据就丢失了后面的括号运算中的小数部分,这是很难受的一件事情。所以我们写代码的时候还是一定要小心谨慎的。

原文地址:https://www.cnblogs.com/fanlumaster/p/13723170.html