C语言程序如下,start和end的差值及为所测试部分代码的运行时间;
#include <stdio.h>
#include <time.h>
clock_t start, end; //clock_t是clock()返回的数据类型
double duration; //运行时间
void MyFun(void)
{
int n = 10;
for(int i = 0; i < n; i++)
{
printf("%d\n",i);
}
}
int main()
{
//其余代码可加在上面
start = clock(); //开始计时
MyFun(); //测试代码放在此处,如果需要写入参数,建议使用带参数的main函数
end = clock(); //停止计时
duration = ((double)(end - start)) / CLK_TCK; //这样才能得到秒
printf("\nduration = %f\n",duration);
//其余代码可加在下面
return 0;
}
改进思路:重复运行多次,求平均运行时间;
#include <stdio.h>
#include <time.h>
clock_t start, end; //clock_t是clock()返回的数据类型
double duration; //运行时间
const int MAX = 100; //运行MAX次,求平均运行时间
void MyFun(void)
{
int n = 10;
for(int i = 0; i < n; i++)
{
printf("%d\n",i);
}
}
int main()
{
//其余代码可加在上面
start = clock(); //开始计时
for(int i = 0; i < MAX; i++)
MyFun(); //测试代码放在此处,如果需要写入参数,建议使用带参数的main函数
end = clock(); //停止计时
duration = ((double)(end - start)) / CLK_TCK / MAX; //这样才能得到秒
printf("\nduration = %f\n",duration);
//其余代码可加在下面
return 0;
}