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

ตัวอย่างการใช้งานคำสั่ง goto ใน C และ C++

คำสั่ง goto เป็นคำสั่งกระโดด (jump statement) ที่ทำให้โปรแกรมกระโดดจากจุด goto ไปยังฉลาก (label) ที่กำหนด แม้จะใช้งานได้ แต่โดยทั่วไปไม่แนะนำให้ใช้ เนื่องจากทำให้โค้ดซับซ้อนและยากต่อการอ่านเข้าใจ (Spaghetti code)

ไวยากรณ์ของ goto

goto label;
...
label: statements;

ตัวอย่างการใช้งาน goto

#include <iostream>
using namespace std;

int main() {
    int i = 1;
    while(1) {
        cout << i << "\n";
        if(i == 10)
            goto OUT;
        i++;
    }
    OUT: cout << "Out of the while loop";
    return 0;
}

ผลลัพธ์

1
2
3
4
5
6
7
8
9
10
Out of the while loop

การทำงานของโปรแกรม

  1. ใช้ลูป while(1) (ลูปไม่รู้จบ) เพื่อแสดงค่า i ทีละค่า
  2. ตรวจสอบด้วย if ว่า i == 10 หรือยัง
  3. ถ้าเป็นจริง ให้กระโดดไปยังฉลาก OUT เพื่อออกจากลูป
  4. ถ้าเป็นเท็จ ให้เพิ่มค่า i ขึ้น 1 และวนลูปต่อ
  5. หลังกระโดดไป OUT จะแสดงข้อความ "Out of the while loop"

ข้อควรระวัง

  • การใช้ goto ควรจำกัดให้น้อยที่สุด ใช้เฉพาะกรณีที่จำเป็นจริงๆ (เช่น การจัดการข้อผิดพลาดที่ซับซ้อน)
  • ควรใช้โครงสร้างควบคุมมาตรฐานแทน เช่น break, continue, return หรือฟังก์ชันย่อย
  • โค้ดที่ใช้ goto มากเกินไปจะยากต่อการบำรุงรักษาและดีบัก