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);
        }
    }
希望有好人,能帮忙解决一下,谢谢!

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

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

while是不行的,单线程都是排队的。加个定时器吧
http://www.360doc.com/content/11/1002/22/3705007_153011328.shtml