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