C/C++中关于时间的函数 clock()

在读《C专家编程》时,其中前言部分的关于时间的那个程序让我发现我还对C中的关于时间的函数不是很熟,于是决定查查资料,逐步学习下。

函数:clock()

#include <stdio.h>
#include <time.h>
#include <windows.h>

int main()
{
	Sleep(1000);
	printf("Up to now, this programme lasts %d ms and it's %d seconds\n",clock(),clock()/CLOCKS_PER_SEC);
	/*clock(),记录程序从开始到出现这个函数之时的时钟输,除以CLOCKS_PER_SEC得到秒数*/
	Sleep(1000); 
	printf("Up to now, this programme lasts %d ms and it's %d seconds\n",clock(),clock()/CLOCKS_PER_SEC);
}

clock()的作用是返回程序从开始运行到这个函数出现时所运行的时钟数(clock ticks),将其返回值除以宏CLOCKS_PER_SEC即得程序运行的秒数。

它的计时开始点是从主程序int main()开始的,即使它是出现在其他函数中,见下面的程序:

#include <stdio.h>
#include <time.h>
#include <windows.h>
int wait()
{
	Sleep(3000);
	printf("%d\n",clock());
}
int main()
{
	Sleep(1000);
	printf("Up to now, this programme lasts %d ms and it's %d seconds\n",clock(),clock()/CLOCKS_PER_SEC);
	wait();
}

如果第7行的clock()是从wait()开始计时的话,那么应该是显示3000,但是实际运行结果是4000,表明clock()是从程序开始执行就计数的,而不是从调用它的函数开始执行才开始。


注:不同的机器上时钟数(clock ticks)可能会有细微的差异。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值