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 + -
显示快捷键?