เรารู้ว่าในภาษา C คำสำคัญ 'while' ใช้กำหนดลูปที่ทำงานตามเงื่อนไขที่ส่งผ่านมา ตอนนี้เงื่อนไขมีค่าได้ 2 แบบคือ true หรือ false ดังนั้นโค้ดในบล็อก while จะทำงานซ้ำๆ หากเงื่อนไขเป็น true และถ้าเป็น false โค้ดจะไม่ทำงานเลย
ตอนนี้การส่งอาร์กิวเมนต์ให้ while loop เราสามารถแยกความแตกต่างระหว่าง while(1) และ while(0) ได้ดังนี้ while(1) คือลูปที่เงื่อนไขถูกมองว่าเป็น true เสมอ ทำให้โค้ดในบล็อกทำงานซ้ำๆ นอกจากนี้ เราสามารถระบุได้ว่าไม่ใช่แค่ 1 ที่ทำให้เงื่อนไขเป็น true แต่ integer ที่ไม่ใช่ศูนย์ใดๆ ที่ส่งเข้า while loop จะถูกมองว่าเป็น true condition และโค้ดจะเริ่มทำงาน
สementara while(0) คือลูปที่เงื่อนไขถูกมองว่าเป็น false เสมอ ทำให้โค้ดในบล็อกไม่เคยทำงาน นอกจากนี้ เราสามารถระบุได้ว่าเป็นแค่ 0 ที่ทำให้เงื่อนไขเป็น false ดังนั้น integer ที่ไม่ใช่ศูนย์ใดๆ (อาจเป็นลบก็ได้) ที่ส่งเข้า while loop จะถูกมองว่าเป็น true condition และโค้ดจะเริ่มทำงาน
จุดที่อภิปรายข้างต้นสามารถสาธิตได้ด้วยตัวอย่างด้านล่าง
ตัวอย่าง
ตัวอย่าง while(1)
#include
using namespace std;
main(){
int i = 0;
cout << "Loop get started";
while(1){
cout << "The value of i: ";
if(i == 10){ //when i is 10, then come out from loop
break;
}
}
cout << "Loop get ended" ;
}
ผลลัพธ์
Loop get started The value of i: 1 The value of i: 2 The value of i: 3 The value of i: 4 The value of i: 5 The value of i: 6 The value of i: 7 The value of i: 8 The value of i: 9 The value of i: 10 Loop gets ended
ตัวอย่าง
ตัวอย่าง while(0)
#include
using namespace std;
main(){
int i = 0;
cout << "Loop get started";
while(0){
cout << "The value of i: ";
if(i == 10){ //when i is 10, then come out from loop
break;
}
}
cout << "Loop get ended" ;
}
ผลลัพธ์
Loop get started Loop get ended