0

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

#include<stdio.h>
#include <sys/time.h>
#include <stdlib.h>
struct timeval cur;
double time(int a);
main() {
    time(0);
    printf("%lf\n",time(1));
    sleep(3);
    printf("%lf\n",time(1));
}

double time(int a) {
    double rtime;
    if(a==0) {
        gettimeofday(&cur,NULL);
        rtime=(double)(cur.tv_sec);
        printf("%lf\n",rtime);
    } else if(a==1) {
        gettimeofday(&cur,NULL);
        return((double)(cur.tv_sec-rtime));
    }
}
4

1 回答 1

0

除非您指定为静态,否则您的例程time()将不会记住:rtimertime

static double rtime;

并且:目前尚不清楚为什么您将这些数字指定为双打。

于 2014-04-03T07:01:04.433 回答