#include <stdio.h>
#include <setjmp.h>
jmp_buf j;
int main()
{
switch(setjmp(j))
{
case 0:
printf("this is main to do\n");
longjmp(j, 1);
printf("main is over\n");
break;
case 1:
printf("main is error 1\n");
break;
case 2:
printf("main is error 2\n");
break;
default:
break;
}
return 0;
}
输出结果为
this is main to do
main is error 1
本文通过一个C语言程序示例介绍了setjmp和longjmp函数的基本使用方法。程序演示了如何利用这两个函数实现非局部跳转,即从一个函数跳转回之前的另一个函数。具体展示了不同case下程序的行为表现。
&spm=1001.2101.3001.5002&articleId=8156404&d=1&t=3&u=99af36744fa84529b7b1bdbd75b57f3d)
1091

被折叠的 条评论
为什么被折叠?



