Như chúng ta biết, trong C từ khóa 'while' định nghĩa vòng lặp hoạt động dựa trên điều kiện truyền vào. Điều kiện có giá trị true hoặc false: nếu true, khối lệnh lặp lại; nếu false, không thực thi.
Khi truyền đối số cho while, ta phân biệt while(1) và while(0): while(1) điều kiện luôn true -> lặp vô tận. Không chỉ 1, bất kỳ số nguyên khác 0 nào truyền vào while đều được coi là true.
Ngược lại, while(0) điều kiện luôn false -> khối lệnh không bao giờ chạy. Chỉ 0 làm false, bất kỳ số nguyên khác 0 (có thể âm) đều được coi là true.
Các điểm trên được minh họa qua ví dụ dưới đây.
Ví dụ
Ví dụ while(1)
#includeusing namespace std; main(){ int i = 0; cout << "Loop get started"; while(1){ cout << "The value of i: "; if(i == 10){ // khi i=10 thoát vòng lặp break; } } cout << "Loop get ended" ; }
Kết quả
Loop get started The value of i: 1 The value of i: 2 ... The value of i: 10 Loop gets ended
Ví dụ
Ví dụ while(0)
#includeusing namespace std; main(){ int i = 0; cout << "Loop get started"; while(0){ cout << "The value of i: "; if(i == 10){ break; } } cout << "Loop get ended" ; }
Kết quả
Loop get started Loop get ended