เราจะมาดูความแตกต่างระหว่าง while(1) และ while(0) ใน C หรือ C++ while เป็นลูปของ C หรือ C++ เมื่อใช้ลูปนี้ เราสามารถตรวจสอบเงื่อนไขได้หนึ่งข้อ และคำสั่งภายในลูปจะถูกดำเนินการในขณะที่เงื่อนไขเป็นจริง
while(1) หรือ while(ค่าที่ไม่ใช่ศูนย์) ใช้สำหรับวนซ้ำไม่สิ้นสุด ไม่มีเงื่อนไขสำหรับในขณะที่ เนื่องจากมีค่า 1 หรือค่าที่ไม่ใช่ศูนย์ใดๆ อยู่ เงื่อนไขจะเป็นจริงเสมอ ดังนั้นสิ่งที่อยู่ภายในลูปที่จะถูกดำเนินการตลอดไป ในการออกจากลูปอนันต์นี้ เราต้องใช้คำสั่งแบบมีเงื่อนไขและคำสั่งแบ่ง
ตัวอย่าง
#include<iostream> using namespace std; main(){ int i = 0; cout << "Starting Loop" << endl; while(1){ cout << "The value of i: " << ++i <<endl; if(i == 10){ //when i is 10, then come out from loop break; } } cout << "Ending Loop" ; }
ผลลัพธ์
Starting Loop 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 Ending Loop
ในทำนองเดียวกัน while(0) จะถือว่าในขณะที่มีเงื่อนไขเท็จ ดังนั้นการวนซ้ำแบบนี้ไม่มีประโยชน์ มันจะไม่ดำเนินการคำสั่งภายในเนื่องจาก 0 ถือเป็นเท็จ
ตัวอย่าง
#include<iostream> using namespace std; main(){ int i = 0; cout << "Starting Loop" << endl; while(0){ cout << "The value of i: " << ++i <<endl; if(i == 10){ //when i is 10, then come out from loop break; } } cout << "Ending Loop" ; }
ผลลัพธ์
Starting Loop Ending Loop