原意是想操作员在3s内输入一个命令。超时了,就会使用默认命令CMDA。 可是程序运行后一直停在“Input command :”等待输入,请问是怎么回事。谢谢! 1 #include <sys/signal.h> 2 #include <stdio.h> 3 4 static char cmd[256]; 5 6 void default_cmd(int sig) 7 { 9 strcpy(cmd, "CMDA"); 10 } 11 12 int main(void) 13 { 15 signal(SIGALRM, default_cmd); 16 printf("Input command : "); 17 alarm(3); 19 scanf("%s", cmd); 20 alarm(0); 21 printf("cmd=[%s]
", cmd); 22 return 0; 23 }
|