การใช้งานคำสั่ง goto C++

ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับ goto statment ว่ามันทำงานอย่างไร และเหตุใดจึงควรหลีกเลี่ยง

ในการเขียนโปรแกรม C++ คำสั่ง goto ใช้สำหรับเปลี่ยนลำดับการทำงานของโปรแกรมตามปกติโดยถ่ายโอนการควบคุมไปยังส่วนอื่นของโปรแกรม

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


goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;
... .. ...


ในไวยากรณ์ข้างต้น label เป็นตัวระบุ เมื่อ goto label; พบ การควบคุมโปรแกรมจะข้ามไปที่ label: และรันโค้ดด้านล่าง

ตัวอย่าง: goto Statement


# include <iostream>
using namespace std;

int main()
{
    float num, average, sum = 0.0;
    int i, n;

    cout << "Maximum number of inputs: ";
    cin >> n;

    for(i = 1; i <= n; ++i)
    {
        cout << "Enter n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // Control of the program move to jump:
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\nAverage = " << average;
    return 0;
}


เอาท์พุต 

Maximum number of inputs: 10
Enter n1: 2.3
Enter n2: 5.6
Enter n3: -5.6

Average = 3.95


คุณสามารถเขียนโปรแกรม C++ ได้โดยไม่ต้องใช้คำสั่ง goto และโดยทั่วไปถือว่าเป็นความคิดที่ดีที่จะไม่ใช้งาน

เหตุผลที่ควรหลีกเลี่ยง goto Statement


คำสั่ง goto ให้อำนาจในการข้ามไปยังส่วนใดๆ ของโปรแกรม แต่ทำให้ตรรกะของโปรแกรมซับซ้อนและพันกัน

ในการเขียนโปรแกรมสมัยใหม่ คำสั่ง goto ถือเป็นโครงสร้างที่เป็นอันตรายและแนวปฏิบัติด้านการเขียนโปรแกรมที่ไม่ดี

คำสั่ง goto สามารถแทนที่ได้ในโปรแกรม C++ ส่วนใหญ่โดยใช้คำสั่ง break และ continue

Leave a Reply

Your email address will not be published. Required fields are marked *