下班倒計時 #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; }