我们可以将此函数称为 goto 语句的高级版本,但具有更大的动态范围。该longjump()
函数允许我们通过参数来知道控件是否被跳转。
那么如何使用这是个问题。首先是决定你想跳的点,然后决定你想跳的地方。
在设置这些点之前,只需做一个jum_buf
对象。现在休息是蛋糕散步。在这个例子中,我已经通过调用函数将我们想要跳转到一个名为 func 的函数中的点放在longjmp(a, 1)
有两个参数作为jum_buf
object 和 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;
}
输出
相关用法
- C语言 localeconv()用法及代码示例
- C语言 linerel()用法及代码示例
- C语言 lineto()用法及代码示例
- C语言 fread()用法及代码示例
- C语言 feof()用法及代码示例
- C语言 imagesize()用法及代码示例
- C语言 getarcoords()用法及代码示例
- C语言 strcspn()用法及代码示例
- C语言 setlinestyle()用法及代码示例
- C语言 showbits()用法及代码示例
- C语言 sprintf()用法及代码示例
- C语言 outtextxy()用法及代码示例
- C语言 isgraph()用法及代码示例
- C语言 grapherrormsg()用法及代码示例
- C语言 moveto()用法及代码示例
- C语言 putchar()用法及代码示例
- C语言 tmpnam()用法及代码示例
- C语言 putpixel()用法及代码示例
- C语言 fillellipse()用法及代码示例
- C语言 outtext()用法及代码示例
注:本文由纯净天空筛选整理自Abhishek Sharma大神的英文原创作品 longjmp() function of setjmp.h in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。