关于显示时间的问题
下面是显示时间的程序,我想问的是:Sleep函数前面的计算需要时间,所以显示时间是否存在误差?
如果存在,在经过大量的循环后,时间误差累计凑够1秒,加上Sleep(1000),时间会不会一次性突然跳过2秒?
程序代码:
#include <stdio.h> #include <windows.h> #include <time.h> int main() { struct tm *ptr; for(;;) { time_t current = time(NULL); ptr = localtime(¤t); printf("\r%.2d:%.2d:%.2d", ptr->tm_hour, ptr->tm_min, ptr->tm_sec); Sleep(1000); } return 0; }