下班倒计时 #include <stdio.h> #include <time.h> #include <unistd.h>void print_remaining_time(time_t now, time_t tar_time) {double diff = difftime(tar_time, now);int hours = (int)diff / 3600;int minutes = ((int)diff % 3600) / 60;int seconds = (int)diff % 60;printf("\r距离下班还有: %02d 小时 %02d 分钟 %02d 秒", hours, minutes, seconds);fflush(stdout); }int main() {while(1) {time_t now;struct tm *tm_now;time(&now);tm_now = localtime(&now);struct tm tm_tar = *tm_now;// 设置下班时间tm_tar.tm_hour = 18;tm_tar.tm_min = 0;tm_tar.tm_sec = 0;time_t tar_time = mktime(&tm_tar);if(difftime(tar_time, now) < 0) {tm_tar.tm_mday += 1;tar_time = mktime(&tm_tar);}print_remaining_time(now, tar_time);// 每秒钟更新一次sleep(1);}return 0; }