setjmp.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 27 行

C
27
字号
/* show LONGJMP, SETJMP */

#include <stdio.h>
#include <setjmp.h>

jmp_buf env;

void rtn()
{
    printf( "about to longjmp\n" );
    longjmp( env, 14 );
}

void main()
{
    int ret_val;

    ret_val = 293;
    if( 0 == ( ret_val = setjmp( env ) ) ) {
      printf( "after setjmp %d\n", ret_val );
      rtn();
      printf( "back from rtn %d\n", ret_val );
    } else {
      printf( "back from longjmp %d\n", ret_val );
    }
}

⌨️ 快捷键说明

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