ex1.c

来自「零基础单片机C语言设计全套教程」· C语言 代码 · 共 33 行

C
33
字号
#include <setjmp.h>								//头文件
#include <stdio.h>

jmp_buf env; 									//环境变量
bit error_flag;									//错误标志

void trig(void)									//自定义函数
{
  if (error_flag != 0) 
{
    longjmp (env, 1);  							//向setjmp返回1
  }
}

void recover (void) 								//恢复函数
{
}

void main (void) 								//主函数
{
  if (setjmp (env) == 0) 							//首次调用setjmp将返回0
{ 
    printf ("Called SETJMP! \n");
    error_flag = 1;            					//错误标志
    trig ();										//调用trig函数
  }
  else 
{
    printf ("Called LONGJMP! \n");
    recover ();									//调用恢复函数
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?