请问C语言中clock()函数该怎么用?

[复制链接]
查看11 | 回复5 | 2019-10-11 10:53:47 | 显示全部楼层 |阅读模式
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。它的具体功能是返回处理器调用某个进程或函数所花费的时间。函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,其中clock_t是用来保存时间的数据类型。在time.h文件中,我们可以找到对它的定义:#ifndef _CLOCK_T_DEFINEDtypedef long clock_t;#define _CLOCK_T_DEFINED#endif...
回复

使用道具 举报

千问 | 2019-10-11 10:53:47 | 显示全部楼层
C语言函数clock()功 能:返回处理器调用某个进程或函数所花费的时间。用 法: clock_t clock(void);说明:clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000,这表示...
回复

使用道具 举报

千问 | 2019-10-11 10:53:47 | 显示全部楼层
The clock() function returns an approximation of processor time used by the program.以上内容摘自man 3 clock 返回接近程序使用的CPU时间 你拿这个做种子?如果linux下 建议GRand*
g_rand_new...
回复

使用道具 举报

千问 | 2019-10-11 10:53:47 | 显示全部楼层
clock 计算的是从程序运行到执行clock时的时间间隔。重复启动程序,时间还是 从程序运行到执行clock时的时间间隔。这个数字不变,种子不变。你的随机就不随机了。所以要用:srand(time(NULL));time(NULL) 是永远在变的。种子变,随机了。...
回复

使用道具 举报

千问 | 2019-10-11 10:53:47 | 显示全部楼层
网上资料错了,clock返回当前进程创建到现在经过的时钟周期数你的程序那么短,返回0是正常的我在自己的电脑上试了试,在调用clock()前用了Sleep(1000),结果就不一样了Sleep()是 Windows API,不要在你的程序里用而且觉得,随机数钟子只要设一次就够了,不应该每次设,你这样,在一段时间内(大约1毫秒...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行