Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Lệnh goto trong C/C++

Lệnh goto là câu lệnh nhảy không điều kiện. Trong một hàm, nó nhảy từ câu lệnh này sang nhãn (label) khác. Việc sử dụng goto bị khuyên răn mạnh mẽ vì làm chương trình phức tạp, khó theo dõi luồng điều khiển, khó bảo trì và sửa đổi.

Cú pháp

goto ten_nhan;
...
ten_nhan: cau_lenh;

Ví dụ

#include <stdio.h>
int main() {
    int a = 10;
    LOOP:
    do {
        if (a == 12) {
            a = a + 1;
            goto LOOP; // Nhảy về nhãn LOOP
        }
        printf("Gia tri a: %d\n", a);
        a++;
    } while (a < 15);
    return 0;
}

Kết quả

Gia tri a: 10
Gia tri a: 11
Gia tri a: 13
Gia tri a: 14

Giá trị 12 bị bỏ qua do nhảy về đầu vòng lặp.

Khuyến nghị: Thay vì goto, hãy dùng cấu trúc điều khiển có cấu trúc (structured control flow): if-else, for, while, break, continue, hàm con. Chỉ dùng goto trong trường hợp cực hiếm như thoát khỏi vòng lặp lồng sâu (vẫn có thể dùng cờ boolean).