clock()返回的clock_t始终为0

时间:2017-10-22 15:12:49

标签: c

我正在测试以下程序:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int *prefix1(int *,int);
main()
{   
    int i,*X,n,*A;
    srand(time(NULL));
    printf("Dose to n: ");
    scanf("%d",&n);
    X=(int *)malloc(n*sizeof(int));
    for(i=0;i<n;i++)
    {
        X[i]=rand()%100;
    }
    clock_t begin=clock();
    A=prefix1(X,n);
    clock_t end=clock();
    printf("Time taken:%f",(double)(end-begin)/CLOCKS_PER_SEC);
}
int *prefix1(int *X,int n)
{
    int i,j,s,*A;
    A=(int *)malloc(n*sizeof(int));
    for(i=0;i<n;i++)
    {
        s=X[0];
        for(j=1;j<=i;j++)
            s=s+X[j];
        A[i]=s; 
    }
    return A;
}

我正在尝试计算prefix1占用的时间,但是

的结果
(double)(end-begin)/CLOCKS_PER_SEC

总是0。我在begin内(在end开始时和prefix1之前)尝试了returnvariable,结果仍然相同。

编辑:在非常低的n值时,结果为0但在大约1000+之后它会给出结果

0 个答案:

没有答案