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

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日