Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ความแตกต่างระหว่าง while(1) และ while(0) ในภาษา C


อย่างที่เราทราบดีว่าในภาษาซี 'while' มีการใช้คำสำคัญเพื่อกำหนดลูปที่ทำงานบนเงื่อนไขที่ส่งผ่านเป็นอาร์กิวเมนต์ไปยังลูป ขณะนี้ตามเงื่อนไขสามารถมีค่าสองค่าจริงหรือเท็จ ดังนั้นรหัสภายในในขณะที่บล็อกจะถูกดำเนินการซ้ำๆ หากเงื่อนไขเป็นจริง และหากเงื่อนไขเป็นเท็จ รหัสจะไม่ถูกดำเนินการ

ตอนนี้ส่งอาร์กิวเมนต์ไปยังลูป while เราสามารถแยกความแตกต่างระหว่าง while(1) และ while(0) เนื่องจาก while(1) เป็นลูปที่เงื่อนไขจะถือว่าเป็นจริงเสมอ ดังนั้นโค้ดภายในบล็อกจึงเริ่มทำงานซ้ำๆ นอกจากนี้ เราสามารถระบุได้ว่าไม่ใช่ 1 ที่ส่งผ่านไปยังลูปและทำให้เงื่อนไขเป็นจริง แต่ถ้าจำนวนเต็มที่ไม่เป็นศูนย์ถูกสร้างให้ส่งผ่านในขณะที่วนซ้ำ มันจะถือเป็นเงื่อนไขจริงและด้วยเหตุนี้โค้ดจึงเริ่มทำงาน

ในทางกลับกัน while(0) เป็นลูปที่เงื่อนไขจะถือว่าเป็นเท็จเสมอ ดังนั้นโค้ดภายในบล็อกจะไม่เริ่มทำงาน นอกจากนี้ เราสามารถระบุได้ว่ามีเพียง 0 เท่านั้นที่ส่งผ่านไปยังลูปและทำให้เงื่อนไขเป็นเท็จ ดังนั้นหากมีจำนวนเต็มที่ไม่เป็นศูนย์อื่น ๆ ค่าลบก็อาจส่งผ่านในขณะที่ลูปได้เช่นกัน ก็จะถือเป็นเงื่อนไขจริงและด้วยเหตุนี้ โค้ดเริ่มทำงาน

ประเด็นที่กล่าวถึงข้างต้นสามารถแสดงให้เห็นได้ด้วยความช่วยเหลือของตัวอย่างที่แสดงด้านล่าง

ตัวอย่าง

ตัวอย่าง 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