我們可以將此函數稱為 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。