Bất cứ ai có thể cho tôi biết những gì được gửi trong khi vòng lặp trong C + +? Xin vui lòng cho tôi một ví dụ bằng cách sử dụng sentinel trong khi vòng lặp.Sentinel trong khi vòng lặp cho C++
Trả lời
A "trọng điểm" trong bối cảnh này là một giá trị đặc biệt dùng để báo hiệu kết thúc một chuỗi. Thông báo phổ biến nhất là \ 0 ở cuối chuỗi. Một "vòng lặp nội tuyến được gửi" thường có dạng:
while (Get(input) != Sentinel) {
Process(input);
}
Là một "vòng lặp gửi trong khi" chỉ là một tên dài cho một "vòng lặp while" sau đó? Hay nó cụ thể hơn? –
@LupusOssorum: Nó cụ thể hơn. Đó là một "trong khi các sentinel đã không được nhìn thấy" -loop. – MSalters
Biến này thường là biến boolean (true hoặc false) được đặt thành false khi điều kiện không hài lòng và được đặt thành true khi điều kiện. Sau đó, chúng ta có thể lặp lại miễn là sentinel là false.
Ví dụ:
bool acceptedAnswer = false;
while (acceptedAnswer == false)
{
refreshPage();
if (hasBeenAccepted())
{
acceptedAnswer = true;
}
}
Điều đó không đúng. Đó chỉ đơn giản là một điều kiện chấm dứt, hoặc một "bảo vệ". Như những người khác đã nói, một sentinel là một giá trị đặc biệt trong một iteration tín hiệu để kết thúc vòng lặp. –
Một sentinel là một giá trị đặc biệt, ví dụ: giá trị boolean, cực lớn hoặc nhỏ. Nó được sử dụng để xác định thời điểm dừng vòng lặp.
Ví dụ điển hình là trong việc triển khai sắp xếp hợp nhất, ví dụ: đọc trang 4 của http://www.cs.princeton.edu/courses/archive/spr07/cos226/lectures/04MergeQuick.pdf.
Là một phụ lục để trả lời JRL của ..
Xin lưu ý rằng không có gì sai trái với yêu cầu câu hỏi này, nhưng trong tương lai bạn có thể tìm thấy sự giúp đỡ trực tiếp hơn bằng cách vào dictionary.com và nhìn lên những từ bạn don không biết.
chỉnh sửa: trong trường hợp này, từ điển không có gì để bạn suy nghĩ. Dưới đây là định nghĩa 3 :)
3 Also called tag. Computers. a symbol, mark, or other labeling device indicating the beginning or end of a unit of information.
Có nhưng từ điển không cung cấp ví dụ. Những người khác cũng có thể cần một ví dụ để hiểu rõ hơn. – olibre
Một sentinal là một giá trị đặc biệt trong danh sách các mục sẽ luôn làm cho trình vòng lặp dừng lại.
Ví dụ: trình kết thúc số không trong chuỗi ASCIIZ đóng vai trò là tình trạng.
Danh sách được liên kết thường có con trỏ NULL và như vậy.
- 1. Do .. Trong khi vòng lặp trong C#?
- 2. Các trình lặp vòng lặp cho C++
- 3. C++ Ngưng tụ cho vòng lặp
- 4. Điều tra Pythonic trong khi vòng lặp
- 5. lặp lại một vòng lặp cho vòng lặp
- 6. Confused về đa luồng trong một vòng lặp cho C#
- 7. Sử dụng đúng Parallel cho vòng lặp trong C#?
- 8. Coffeescript. cho/trong vòng lặp
- 9. Nhiều điều kiện trong vòng lặp 'C' cho '
- 10. Cách sử dụng cho mỗi vòng lặp trong C++
- 11. C++ lặp & tối ưu hóa vòng lặp
- 12. Song song cho vòng lặp trong Windows
- 13. vòng lặp vô hạn trong c + +
- 14. Vòng lặp nào nhanh hơn, trong khi hoặc cho?
- 15. Vòng lặp trong khi ở Clojure?
- 16. Khi vòng lặp với if-statement nhanh hơn vòng lặp
- 17. Biến cục bộ vòng lặp trong C
- 18. C# string.replace trong vòng lặp foreach
- 19. cho mỗi vòng lặp
- 20. parallelizing một vòng lặp for trong C
- 21. Đóng trên biến vòng lặp trong C#
- 22. C# foreach trong vòng lặp foreach
- 23. javascript (nodejs) trong khi vòng lặp lỗi
- 24. Sql Stored Procedure trong khi vòng lặp
- 25. trả lại cho vòng lặp hoặc vòng lặp ngoài
- 26. Anonymous C# delegate trong vòng lặp
- 27. C#: N Vòng lặp For
- 28. Nhiều quầy trong Javascript cho vòng lặp
- 29. Lặp lại vòng lặp cho vòng lặp% x% lần trong lô
- 30. Trong Perl, là một vòng lặp trong khi thường nhanh hơn một vòng lặp for?
Sentinels đã xuất hiện trong 'int main (int argc, char ** argv)': Đối số cuối cùng được chuyển đến chương trình của bạn được theo sau bởi một con trỏ rỗng. Vì vậy, nghiêm túc nói rằng bạn không cần 'argc': Chỉ cần lặp qua' argv' cho đến khi bạn nhận được một con trỏ null. –