我正在运行一个在几秒钟后结束的while循环 .
我想在几秒钟内完成打印,剩下多少时间让这个循环结束 .
我的代码:
time_t end = time(NULL) + seconds; while (time(NULL) < end) { //print time in seconds }
我怎样才能做到这一点?谢谢 .
您需要一个简单的计算,例如 end-time(NULL) . 但是当你想要在你的while循环中打印它时,你会看到许多重复相同的数字,如下所示: (10,10,10,10,10,9,9,9,9,9,8,8,8,8,.......) . 为防止这种情况,您应该检查每个循环中的重复次数,并禁止再次打印出来 . 你可以这样做;
end-time(NULL)
#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); } }
1 回答
您需要一个简单的计算,例如
end-time(NULL)
. 但是当你想要在你的while循环中打印它时,你会看到许多重复相同的数字,如下所示: (10,10,10,10,10,9,9,9,9,9,8,8,8,8,.......) . 为防止这种情况,您应该检查每个循环中的重复次数,并禁止再次打印出来 . 你可以这样做;