Trong chương trình đôi khi bạn muốn bỏ qua 1 số câu lệnh hoặc quay lại một số câu lệnh khi đó bạn có thể gán nhãn cho vị trí các câu lệnh và sử dụng câu lệnh goto để chương trình tiến hành thực hiện các câu lệnh bắt đầu từ vị trí nhãn.
Cú pháp :
goto nhãn; .... nhãn: //Các câu lệnh;
Ví dụ 1 :
Giải thích : Khi câu lệnh goto label; được thực hiện thì chương trình lập tức chạy tới các câu lệnh bên dưới nhãn label để thực hiện mà bỏ qua 2 câu lệnh ở dòng 8 và 9. Trong trường hợp nếu câu lệnh goto label; không được thực hiện thì chương trình sẽ thực hiện câu lệnh dòng 8, 9 rồi mới tới các câu lệnh bên dưới của nhãn label.
#include "stdio.h" int main(){ int n = 28; if(n % 2 == 0){ goto label; } printf("hello world\n"); // 8 printf("Java\n"); // 9 label: printf("28tech.com.vn\n"); printf("lap trinh C\n"); return 0; } Output : 28tech.com.vn lap trinh C
Ví dụ 2 :
Code này sẽ yêu cầu bạn nhập vào 1 số, và nếu số bạn nhập vào không phải là số 28 nó sẽ cho thực hiện câu lệnh goto để chương trình của bạn quay lại các câu lệnh bên dưới nhãn lap và cho bạn nhập lại, khi nào bạn nhập n = 28 thì chương trình mới tiếp tục thực hiện các câu lệnh bên dưới.
#include "stdio.h" int main(){ lap: int n; printf("Nhap n : "); scanf("%d", &n); if(n == 28){ printf("OK\n"); } else{ printf("So duoc nhap chua dung\n"); goto lap; } return 0; }
Xem thêm bài giảng của mình về If Else trong C :