我创建了一个程序,其中信号调用安装新的信号处理程序'signum',并且每当按下终端特殊字符时基本上都会显示一条消息,例如CRTL-C。
我想知道如果我想跟踪CRTL-C按下了多少次?我该如何实现呢?谢谢。
#include <stdio.h>
#include <signal.h>
main() {
void f(int);
int i;
int count = 0;
signal( SIGINT, f );
for (i = 0; i < 5; i++) {
printf("...I am waiting for you...\n");
sleep(1);
}
void f(int signum) {
printf("Haha, you clicked me!\n");
}
答案 0 :(得分:0)
使用静态变量:
void f(int signum) {
static int cnt = 0;
printf('Hahah, you clicked me %d time(s)!', ++cnt);
}
如果您想在其他地方使用该计数,请改用全局变量。