>  기사  >  백엔드 개발  >  C 언어에서 setjump() 및 longjump() 함수는 다음과 같이 번역됩니다.

C 언어에서 setjump() 및 longjump() 함수는 다음과 같이 번역됩니다.

WBOY
WBOY앞으로
2023-08-30 08:21:111658검색

C 언어에서 setjump() 및 longjump() 함수는 다음과 같이 번역됩니다.

이번편에서는 C언어에서 setjump와 longjump가 무엇인지 알아보겠습니다. setjump() 및 longjump()는 setjmp.h 라이브러리에 있습니다. 이 두 함수의 구문은 다음과 같습니다.

setjump(jmp_buf buf) : uses buf to store current position and returns 0.
longjump(jmp_buf buf, i) : Go back to place pointed by buf and return i.

이것들은 C에서 예외 처리에 사용됩니다. setjump()는 try 블록으로 사용될 수 있고, longjump()는 throw 문으로 사용될 수 있습니다. longjump()는 setjump()가 가리키는 포인트를 제어합니다.

여기에서는 재귀, 루프 또는 매크로 확장을 사용하지 않고 숫자를 100번 인쇄하는 방법을 살펴보겠습니다. 여기서는 이를 수행하기 위해 setjump() 및 longjump() 함수를 사용합니다.

Example

#include <stdio.h>
#include <setjmp.h>
jmp_buf buf;
main() {
   int x = 1;
   setjmp(buf); //set the jump position using buf
   printf("5"); // Prints a number
   x++;
   if (x <= 100)
      longjmp(buf, 1); // Jump to the point located by setjmp
}

output

5555555555555555555555555555555555555555555555555555555555555555555555555555
555555555555555555555555

위 내용은 C 언어에서 setjump() 및 longjump() 함수는 다음과 같이 번역됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제