gpt4 book ai didi

c - 在 Linux C 中使用 Alarm() 发出信号

转载 作者:行者123 更新时间:2023-11-30 14:36:43 24 4
gpt4 key购买 nike

  1. 当超时时,程序应移至第二个问题,如果超时,则应显示“您的时间已结束”。

  2. 目前我的程序运行第一个问题,但不运行第二个问题。

尝试了很多次,还是不行。

Int main(){
int time1
char q1[20]
printf("\n")
printf("Enter the malaysia capital name : ");

alarm(30);
scanf("%[^\n]",q1);

if (time != SIGALRM)
{
alarm(0);
printf("The Malaysia capital is : '%s'\n",q1);
printf("\n");
}

int time2
char q1[20]
printf("\n")
printf("Enter the malaysian tallest building : ");

alarm(30);
scanf("%s",q2);

if (time2 != SIGALRM)
{
alarm(0);
printf("Enter the malaysian tallest building is : '%s'\n",q2);
printf("\n");
}
}

预期:- 超时后应转到第二个问题实际:- 不转向第二个问题

最佳答案

alarm() 函数会引发 SIGALRM,但您必须使用 signal()函数首先为此信号注册一个处理程序。您的程序永远不会注册处理程序,因此当发出信号时没有任何东西可以运行。

关于c - 在 Linux C 中使用 Alarm() 发出信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57881510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com