C Linux 中的计时器



我试图使用gettimeofday创建一个计时器。已调用函数"time"来重置和获取计时器的当前时间。但是当我尝试获取第二个 tine 值时,该程序给出了垃圾值。请帮忙

#include<stdio.h>
#include <sys/time.h>
#include <stdlib.h>
struct timeval cur;
double time(int a);
main() {
    time(0);
    printf("%lfn",time(1));
    sleep(3);
    printf("%lfn",time(1));
}
double time(int a) {
    double rtime;
    if(a==0) {
        gettimeofday(&cur,NULL);
        rtime=(double)(cur.tv_sec);
        printf("%lfn",rtime);
    } else if(a==1) {
        gettimeofday(&cur,NULL);
        return((double)(cur.tv_sec-rtime));
    }
}

你的例行time()不会记住rtime,除非你将rtime指定为静态:

static double rtime;

而且:目前还不清楚为什么你把这些数字指定为双精度。

相关内容

  • 没有找到相关文章

最新更新