首页 文章

打印循环结束的剩余时间(以秒为单位)

提问于
浏览
0

我正在运行一个在几秒钟后结束的while循环 .

我想在几秒钟内完成打印,剩下多少时间让这个循环结束 .

我的代码:

time_t end = time(NULL) + seconds;

while (time(NULL) < end) {
     //print time in seconds
}

我怎样才能做到这一点?谢谢 .

1 回答

  • 0

    您需要一个简单的计算,例如 end-time(NULL) . 但是当你想要在你的while循环中打印它时,你会看到许多重复相同的数字,如下所示: (10,10,10,10,10,9,9,9,9,9,8,8,8,8,.......) . 为防止这种情况,您应该检查每个循环中的重复次数,并禁止再次打印出来 . 你可以这样做;

    #include<stdio.h>
    #include<string.h>
    #include<time.h>
    
    
    int main(void){
    
    int seconds = 10;
    int checker = -1;
    
    time_t end = time(NULL) + seconds;
    
    while (time(NULL) < end) {
    
         if( end-time(NULL) != checker)
         printf("Time Left: %d\n", end-time(NULL));
    
         checker = end-time(NULL);
    }
    
    }
    

相关问题