君ζ 2023-06-11 14:56 采纳率: 100%
浏览 38
已结题

c语言中进行延时等待时如何执行其他程序

我现在想要实现如下功能:程序执行到某位置时等待30秒,如果用户没有按任意键就执行A程序,反之如果用户在这30秒内按了任意键,那么就执行B程序,也就是要在等待时持续检测按键按下的状态,这个功能该如何实现?

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-06-11 15:19
    关注
    #include <stdio.h>
    #include <conio.h>
    #include <time.h>
    
    int main() {
        int startTime = time(NULL);  // 记录开始等待的时间
        int waitingTime = 30;        // 等待时间为30秒
        int stopWaiting = 0;         // 是否停止等待的标志,0表示未停止,1表示已停止
    
        while (!stopWaiting && (time(NULL) - startTime) < waitingTime) {
            if (_kbhit()) {  // 判断是否有键按下
                stopWaiting = 1;
            }
        }
    
        if (!stopWaiting) {
            printf("30秒内未按下任何键,执行A程序");
            // TODO:执行A程序的代码
        } else {
            printf("检测到按键按下,执行B程序");
            // TODO:执行B程序的代码
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月19日
  • 已采纳回答 6月11日
  • 创建了问题 6月11日

悬赏问题

  • ¥15 lead dbs 无法导入影像数据
  • ¥15 反激PWM控制芯片调研
  • ¥15 Python for loop减少运行时间
  • ¥15 fluent模拟物质浓度udf
  • ¥15 Collection contains no element matching the predicate
  • ¥20 冻品电商平台的搜索是怎么实现的
  • ¥15 如何搞一个可以控制、显示马达频率
  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题