yinhuanlin 2021-12-15 12:52 采纳率: 100%
浏览 78
已结题

C语言在执行倒计时程序的同时,怎样通过scanf输入字符串?

我在VS2019中想编一个:60秒倒计时程序并动态打印在屏幕上,在倒计时执行过程中,需要通过scanf键入字符串以判断是否结束程序。但我在加入scanf语句并判断时(scanf在键入的时候,程序相当于停了下来,所以倒计时不能动态打印),倒计时不会打印在屏幕

以下是倒计时程序:

    char arr[20] = { 0 };
    int ser = 60;
    time_t newtime = 0;
    time_t oldtime = 0;
    system("shutdown -s -t 60");//系统定时关机指令
    printf("你的电脑将在60秒后关机!如想取消关机请输入:爸爸\n ");
    time(&oldtime);
    while (ser > 0)
    {
        time(&newtime);
        if (newtime != oldtime)
        {
            oldtime = newtime;
            ser--;
            printf("还有%.2d秒\r", ser);
        }
    }
希望有好人,能帮忙解决一下,谢谢!

我想知道怎样在动态打印倒计时的同时,还能键入字符串!

  • 写回答

2条回答 默认 最新

  • 关注

    如果要达到这个效果,只能使用多线程实现了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作