이번편에서는 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() 함수를 사용합니다.
#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 }
5555555555555555555555555555555555555555555555555555555555555555555555555555 555555555555555555555555
위 내용은 C 언어에서 setjump() 및 longjump() 함수는 다음과 같이 번역됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!