Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam bahasa C, fungsi setjump() dan longjump() diterjemahkan seperti berikut:

Dalam bahasa C, fungsi setjump() dan longjump() diterjemahkan seperti berikut:

WBOY
WBOYke hadapan
2023-08-30 08:21:111658semak imbas

Dalam bahasa C, fungsi setjump() dan longjump() diterjemahkan seperti berikut:

Dalam bahagian ini, kita akan melihat apa itu setjump dan longjump dalam bahasa C. setjump() dan longjump() terletak dalam pustaka setjmp.h. Sintaks kedua-dua fungsi ini adalah seperti berikut.

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.

Ini digunakan dalam C untuk pengendalian pengecualian Setjump() boleh digunakan sebagai blok percubaan, dan longjump() boleh digunakan sebagai penyataan lompat jauh () mengawal pointe yang ditunjuk oleh setjump().

Di sini kita akan melihat cara mencetak nombor 100 kali tanpa menggunakan rekursi, gelung atau pengembangan makro Di sini kita akan menggunakan fungsi setjump() dan longjump() untuk melakukannya.

Contoh

#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
.

Atas ialah kandungan terperinci Dalam bahasa C, fungsi setjump() dan longjump() diterjemahkan seperti berikut:. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam