C库 setjmp

#include <stdio.h>

#include <string.h>
#include <setjmp.h>

setjmp第一次返回0 ,longjmp影响setjmp 的返回值

int main()
{
static jmp_buf jmpbuf;
int a = setjmp(jmpbuf); //创建本地的jmp_buf缓冲区并且初始化,用于longjmp跳转此处
if (!a)
{
longjmp(jmpbuf,3);
}
else
{
printf("hello \n\r");
}

system("pause");
return 0;
}

------------恢复内容开始------------

#include <stdio.h>

#include <string.h>
#include <setjmp.h>

setjmp第一次返回0 ,longjmp影响setjmp 的返回值

int main()
{
static jmp_buf jmpbuf;
int a = setjmp(jmpbuf); //创建本地的jmp_buf缓冲区并且初始化,用于longjmp跳转此处
if (!a)
{
longjmp(jmpbuf,3);
}
else
{
printf("hello \n\r");
}

system("pause");
return 0;
}

posted @ 2020-10-09 18:02  Monday1024  阅读(87)  评论(0)    收藏  举报