📄 testjmp.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -