1

我这里有一个代码,它可能会在继续之前延迟 10 秒,但我想添加一个功能,用户可以等待该延迟或按任意键继续,我知道它不会像delay(10000) || getch();任何方式那样做?

#include <stdio.h>
#include <conio.h>
#include <dos.h>

void main(){
    clrscr();
    printf("Press Any Key or Wait for 10 Seconds to Continue");
    delay(10000); 
    //getch();
}
4

2 回答 2

2

它实际上很容易使用alarm

printf("Press Any Key or Wait for 10 Seconds to Continue");
alarm(10);
getch();
alarm(0);

您可能需要设置一个处理程序SIGALRM

于 2013-10-25T07:18:40.770 回答
1
#include <stdio.h>
#include <conio.h>
#include <dos.h>

void main()
{
    int wait = 10000;

    clrscr();
    printf("Press Any Key or Wait for 10 Seconds to Continue\n");

    while(!kbhit() && wait > 0)
    {
        delay(100);
        wait -= 100;
    }
}
于 2013-10-24T14:32:14.433 回答