Hỏi về câu lệnh "Exit For"

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Tôi có 1 vòng lập dạng như sau:
PHP:
For i = 1 to 10
     If i =  D/K then
        Exit For
     Else: thực thi "Tập lệnh..."
Next i
Tôi có câu hỏi như sau: Giã sử khi i = 5 thì đụng D/K và Exit For.. vậy khi đó nó làm cái gì tiếp theo?
1> Sẽ ko thực thi "Tập lệnh..." và tiếp tục vòng lập tại bước i = 6
2> Thoát luôn vòng lập và ko thực hiện những bước từ 6 đến 10
Xin hỏi các cao thủ cái nào là đúng trong trường hợp này
Tôi có sử dụng và cảm giác là nó sẽ làm giống như câu 1> nhưng còn hoài nghi nên hỏi lại cho chắc ăn
Mến
ANH TUẤN
 
anhtuan1066 đã viết:
Tôi có 1 vòng lập dạng như sau:
PHP:
For i = 1 to 10
     If i =  D/K then
        Exit For
     Else: thực thi "Tập lệnh..."
Next i
Tôi có câu hỏi như sau: Giã sử khi i = 5 thì đụng D/K và Exit For.. vậy khi đó nó làm cái gì tiếp theo?
1> Sẽ ko thực thi "Tập lệnh..." và tiếp tục vòng lập tại bước i = 6
2> Thoát luôn vòng lập và ko thực hiện những bước từ 6 đến 10
Xin hỏi các cao thủ cái nào là đúng trong trường hợp này
Tôi có sử dụng và cảm giác là nó sẽ làm giống như câu 1> nhưng còn hoài nghi nên hỏi lại cho chắc ăn
Mến
ANH TUẤN
Bác cứ hiểu theo nghĩa đen đi bác à.
Bác vào một cái nhà 10 phòng, tìm đồ, đến phòng thứ 5 thì bác tìm được, vậy thì bác còn vào 5 cái phòng kia làm gì nữa?
Exit For sẽ Exit cái For đang chạy, và sẽ chạy tiếp những gì ở sau cái Next (nếu có).
Trong ví dụ của bác thì nó sẽ thoát khỏi For, không thực hiện cái Else, và cũng không tiếp tục vòng lặp ở bước i = 6.

 
Upvote 0
Và nói thêm Exit For thường sử dụng trong các trường hợp <đ/k> có thể xảy ra hoặc k xảy ra (khi k xảy ra thì chúng ta vẫn phải xét hết các trường hợp)

- có nghĩa là đôi khi đễn phòng thứ 10 rùi mà cũng k tìm thấy đồ. Hoặc khác nữa đó là ta tìm 18 món đặt trong 10 phòng (chắc chắn có 8 món trong 10 phòng này) nhưng đôi khi đến ngày trong vài phòng đầu đã tìm đủ luôn cả 18 rồi -> k cần tìm tiếp nữa
 
Upvote 0
Một cách trình sử dụng Exit for làm gọn đoạn code
PHP:
For i = 1 to 10
     If i =  D/K then Exit For
     thực thi "Tập lệnh..."
Next i

To bác Tigertiger:
dù là tìm 8 món trong 10 phòng hay 1 món thì câu lệnh cũng không khác mấy.
PHP:
Somon = 0
For i = 1 to 10
     If somon = 8 then Exit For
     somon = somon + somonTrongPhong(i)
Next i
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom