Maison > développement back-end > C++ > En langage C, les fonctions setjump() et longjump() sont traduites comme suit :

En langage C, les fonctions setjump() et longjump() sont traduites comme suit :

WBOY
Libérer: 2023-08-30 08:21:11
avant
1716 Les gens l'ont consulté

En langage C, les fonctions setjump() et longjump() sont traduites comme suit :

Dans cette partie, nous verrons ce que sont setjump et longjump en langage C. setjump() et longjump() se trouvent dans la bibliothèque setjmp.h. La syntaxe de ces deux fonctions est la suivante.

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.
Copier après la connexion

Ceux-ci sont utilisés en C pour la gestion des exceptions. Le setjump() peut être utilisé comme bloc try, et longjump() peut être utilisé comme instruction throw Les transferts longjump() contrôlent la pointe pointée par setjump().

Ici, nous verrons comment imprimer un nombre 100 fois sans utiliser de récursion, de boucle ou d'expansion de macro. Ici, nous utiliserons les fonctions setjump() et longjump() pour ce faire.

Exemple

#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
}
Copier après la connexion

output

5555555555555555555555555555555555555555555555555555555555555555555555555555
555555555555555555555555
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal