作者: | 来源:互联网 | 2023-09-04 01:24
以下是我的程序,不能想象时钟滴答一次都没!本机CLOCKS_PER_SEC可是高达1000000次#include<stdio.h>#include<stdlib.h>
以下是我的程序,不能想象时钟滴答一次都没!本机CLOCKS_PER_SEC可是高达1000000次
#include
#include
#include
#include
int main()
{
clock_t time=clock();
printf("%lf\n",atan2(2,4));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("%lf\n",atan(2.0));
printf("\n");
printf("%lu\n",time);
}
8 个解决方案
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
clock_t是个长整型数。
#include
#include
#include
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i) ;
start = clock();
while( i-- );
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );
system("pause");
}
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\time.h
82: typedef long clock_t;
这个问题还没解决那:
我把lu换成ld格式码,为什么输出还是0?
clock()的粒度比较粗,各大平台的clib实现基本都保持在10ms左右的粒度上。需要更细粒度的你不能用clock()。