关闭

C异常处理(2)

343人阅读 评论(0) 收藏 举报
分类:

我试图把代码写的清晰一些!

让大家在看的过程中能直接看出原理

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

jmp_buf buf;


int main(int argc, char *argv[])
{
	int nValue = 0;
	printf("Function Start\r\n");

	nValue = setjmp(buf);//第一次调用会返回0 //以后返回Longjmp设定的值

	switch(nValue)
	{
	case 0:
		{
			printf("nValue = %d \r\n",nValue);
			longjmp(buf,1); //设置一次
			break;
		}
	case 1:
		{
			printf("nValue = %d \r\n",nValue);
			longjmp(buf,2); // 再次设置一次
			break;
		}
	case 2:
		printf("nValue = %d \r\n",nValue);
		break;
	}
	printf("Function End\r\n");
	return 0;
}


显示运行结果

Function Start
nValue = 0
nValue = 1
nValue = 2
Function End


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:157758次
    • 积分:3673
    • 等级:
    • 排名:第8836名
    • 原创:222篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10条
    资讯
    欢迎大家加入QQ交流群: 336836724 验证:博客csdn
    超级友情链接