jmp_buf aBuf; void test() { longjmp(aBuf, -2); //执行该语句后输出为 开始执行->发生了异常(正常为 开始执行->执行完成) } void main() { if (setjmp(aBuf) == 0) { printf("开始执行"); test(); printf("执行完成"); } else { printf("发生了异常"); } }
这段代码可以实现既执行if里面的代码,又执行else里面的代码。当然这套函数远不止简简单单的这点用处 https://blog.csdn.net/wangkeyen/article/details/50658998