Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

พิมพ์ตัวเลข 100 ครั้งโดยไม่ต้องใช้การวนซ้ำ การเรียกซ้ำ และการขยายมาโครใน C


ในส่วนนี้เราจะมาดูวิธีการพิมพ์ตัวเลข 100 ครั้งในภาษา C มีข้อจำกัดบางประการ เราไม่สามารถใช้การวนซ้ำ การเรียกซ้ำ หรือการขยายมาโครได้

เพื่อแก้ปัญหานี้ เราจะใช้ setjump และ longjump ใน C โดย setjump() และ longjump() จะอยู่ที่ไลบรารี setjmp.h ไวยากรณ์ของฟังก์ชันทั้งสองนี้มีดังต่อไปนี้

ตัวอย่าง

#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