เราจะมาดูความแตกต่างระหว่าง 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