#include <setjmp.h>
#include <stdio.h>
jmp_buf buf;
int main(int argc, char *argv[])
{
if (setjmp(buf)) //第一次调用会返回0 //以后返回Longjmp设定的值
{
printf("End\r\n");
}else
{
printf("Start\r\n");
longjmp(buf,1);
}
return 0;
}
上面是一个最简单的例子,我们后续通过修改这个例子,来慢慢理解!
以上程序运行结果
Start
End