testjmp.c

来自「unix环境高级编程 配套源代码 学习学习啊」· C语言 代码 · 共 39 行

C
39
字号
#include	<setjmp.h>#include	"ourhdr.h"static void	f1(int, int, int);static void	f2(void);static jmp_buf	jmpbuffer;intmain(void){	int				count;	register int	val;	volatile int	sum;	count = 2; val = 3; sum = 4;	if (setjmp(jmpbuffer) != 0) {		printf("after longjmp: count = %d, val = %d, sum = %d\n",				count, val, sum);		exit(0);	}	count = 97; val = 98; sum = 99;				/* changed after setjmp, before longjmp */	f1(count, val, sum);		/* never returns */}static voidf1(int i, int j, int k){	printf("in f1(): count = %d, val = %d, sum = %d\n", i, j, k);	f2();}static voidf2(void){	longjmp(jmpbuffer, 1);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?