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

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


เรารู้ว่าในภาษา 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