#include<stdio.h>
#include<signal.h>
#include<setjmp.h>
jmp_buf buf;
void handle(int s)
{
    if(i==SIGINT)printf("信号还没有到达\n");
    longjmp(buf,2);
}
void main()
{
    signal(SIGINT,handle);
int i=setjmp(buf);
    if(i!=0){printf("the signal's return value:%d\n",i);}
    else {printf("I will go handle\n");}
    
//在这里循环等待,直至输入Ctrl+c.
loop:
    goto loop;
}
请问为什么输入了ctrl+c后,结果是read错误呢?这个signal到底是怎么回事情呢?特别是第一个函数。什么时候该用什么呢?
signal(int, void (__cdecl *)(int))函数的原形是这个。signal(SIGINT,handle);书上这样写算怎么回事情呢?



 
											





 
	    

 
	



