当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 longjmp()用法及代码示例


我们可以将此函数称为 goto 语句的高级版本,但具有更大的动态范围。该longjump()函数允许我们通过参数来知道控件是否被跳转。

那么如何使用这是个问题。首先是决定你想跳的点,然后决定你想跳的地方。

在设置这些点之前,只需做一个jum_buf对象。现在休息是蛋糕散步。在这个例子中,我已经通过调用函数将我们想要跳转到一个名为 func 的函数中的点放在longjmp(a, 1)有两个参数作为jum_bufobject 和 1 将在 setjump 调用时返回。

调用函数setjmp()在你想跳的地方。来自 longjump 的第二个参数将存储在z.这z然后可以检查循环或其他内容。

setjmp.h- longjmp() 函数 C 中的示例


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

//defining the type of the variable
static jmp_buf a;

void func(void)
{
	//message for user
	printf("Function starts here..\n");

	//calling function
	longjmp(a, 1);

	//message for user
	printf("Function ends here..\n");
}

int main()
{
	int z;

	//message for user
	printf("Main starts here..\n");

	//setting current value in z
	z = setjmp(a);

	//condition to display message
	if (z != 0)
	{
		//message for user
		printf("longjmp function called\n");
		return 0;
	}
	func();

	//message for user
	printf("Main ends here..\n");

	return 0;
}

输出

setjmp.h - longjmp() in c language



相关用法


注:本文由纯净天空筛选整理自Abhishek Sharma大神的英文原创作品 longjmp() function of setjmp.h in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。