frankzfz
全部博文(252)
2022年(12)
2017年(11)
2016年(7)
2015年(14)
2014年(20)
2012年(9)
2011年(20)
2010年(153)
2009年(6)
执着的KK
TM.
urgel_ba
可怜的猪
jurson
来点甜
cetcnav
max_3
zxszcaij
odessy
btrace
酷小川11
Victorzd
powertre
km康蒙92
simon_qi
天翼云开
BugMan
分类: C/C++
2010-08-19 14:15:54
#include <stdio.h> #include <stdlib.h> #include <setjmp.h> #include <string.h> void fun1(void); void fun2(void); jmp_buf jmpbuffer; void main(void) { int i = 0; int j = 0; i = setjmp(jmpbuffer); if(i==0) { printf("first run\n"); fun1(); fun2(); } else { switch(i) { case 1: printf("In fun1 \n"); break; case 2: printf("In fun2\n"); break; default: printf("unkown error\n"); break; } exit(0); } return 1; } void fun1(void) { char *s = "hello"; char *s1 = "Hello"; if(strcmp(s,s1)!=0) longjmp(jmpbuffer,1); } void fun2(void) { char *s = "world"; if(strcmp(s,"World")!=0) longjmp(jmpbuffer,2); }
root@root:~/program/test_program$ ./jmp_test first run In fun1
上一篇:实时操作系统优先级的反转与继承
下一篇:C语言面试算法题(一)
登录 注册