是否有另一种方法来计算不使用clock()的功能执行时间?

时间:2019-02-11 14:04:02

标签: c

void play(){
    ...
    int f;
    ...
        if(per==4){
            f=clock()/CLOCKS_PER_SEC;
            int min,sec;
            min = f/60;
            sec = f%60;
            printf("You have won the game in %d turns and %d:%02d!!!",turn,min,sec);
            break;
        }
    ...
}

1 个答案:

答案 0 :(得分:0)

time.h中提供了包括clock()在内的标准计时方法。可能使用的一种功能是time()

time_t start = time(NULL) ;

// Something that takes time here...

// Elapsed time in minutes+seconds.
int f = time(NULL) - start ;
int min = f / 60 ;
int sec = f % 60 ;

平台可能会提供非标准手段,例如Windows性能计数器。

严格来说,time()的返回值不必以秒为单位,并且应该使用difftime()函数而不是time(NULL) - start,但是您不太可能遇到{{1} }不在几秒钟之内,并且time_t返回一个difftime(),在某些情况下可能是不可取的:

double