先简单介绍下clock()函数:
1.直接去这个网址看,写的很全面而且c语言标准库函数他都有
网址主页:www.cpluspluc.com
2.我口头介绍下
需要包含头文件 <time.h>
clock()函数的返回值就是你程序当前运行的时间(毫秒为单位),类型是长整型,如果你想求某一个函数或者代码段运行的时间,那么可以设置两个变量分别在代码段的前面和代码段的后面(这两个变量可以用 clock_t类型来创建,但本质上clock_t就是一个typedef长整型。也就是说你用long来创建也是可以的),然后利用差值来求出这段代码运行的时间。例如:
long start,end,result;
start=clock();
需要测试的代码段;
end=clock();
result=end-start;
则result里面保存的就是这段测试代码所运行的时间了(以毫秒为单位);
看不懂没关系,下面上代码,代码中的注释很详细:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<time.h>
long test(int num)
{
int mul = 1;
for (int i = 1; i <= num; i++)
{
mul *= i;
}
return mul;
}
int main()
{
int t = 0;
int num = 0;
int count = 0;
printf("请输入测试代码求谁的阶乘(输入值别太小了,建议以亿为单位,太大也不行):");
scanf("%d", &num);
clock_t start, end;//clock_t本质上是宏定义的一个长整型 也就是说,使用clock_t定义变量相当于在用long定义变量
start = clock();//clock()的返回值的单位是毫秒
count=test(num);
end = clock();
t = end - start;
printf("test()函数运行时间:%ld毫秒\n", t);//注意,长整型使用的格式为%ld,l代表long,d代表decimal(十进制)
printf("test()函数运行时间:%f毫秒\n", (float)t);//这就是以毫秒为单位的,当然如果你以毫米为单位,那么没必要转换成浮点型,因为小数点后永远是0
printf("test()函数运行时间:%f秒\n",(float)t/CLOCKS_PER_SEC);//CLOCK_PER_SEC本质上是一个长整型的1000,相当于转化成以秒为单位了
printf("test()函数运行时间:%.3f秒\n", (float)t / CLOCKS_PER_SEC);//在%d中间加入.3代表保留三位小数
printf("test()函数运行时间:%.3lf毫秒\n", (double)t);//当然,你强制类型转换成double也是可以的
system("pause");
return 0;
}
如果觉得学到了,点个赞吧。最近文章阅读量不少,但没啥点赞。呜呜呜~