কম্পিউটার টিউটোরিয়াল

সি/সি++-এ while(1) এবং while(0)-এর পার্থক্য


এখানে আমরা সি বা সি++-এ while(1) এবং while(0)-এর পার্থক্য দেখব। while হলো সি/সি++-এ একটি লুপ। এর মাধ্যমে একটি শর্ত চেক করা হয় এবং লুপের ভেতরের স্টেটমেন্টগুলো ততক্ষণ এক্সিকিউট হয় যতক্ষণ শর্ত সত্য থাকে।

while(1) বা while(any non-zero value) অসীম লুপ (infinite loop) জন্য ব্যবহৃত হয়। এখানে কোনো শর্ত নেই। যেহেতু ১ বা যেকোনো নন-জিরো মান উপস্থিত, তাই শর্ত সবসময় সত্য থাকে। তাই লুপের ভেতরের কোড চিরকাল এক্সিকিউট হবে। এই অসীম লুপ থেকে বের হতে হলে কন্ডিশনাল স্টেটমেন্ট এবং break ব্যবহার করতে হয়।

উদাহরণ: while(1)

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    cout << "Starting Loop" << endl;
    while (1) {
        cout << "The value of i: " << ++i << endl;
        if (i == 10) { // i ১০ হলে লুপ থেকে বের হবে
            break;
        }
    }
    cout << "Ending Loop";
}

আউটপুট

Starting Loop
The value of i: 1
The value of i: 2
...
The value of i: 10
Ending Loop

অন্যদিকে while(0) মিথ্যা শর্তের সাথে while মনে হয়। তাই এই ধরনের লুপ নিষ्फল। এটি ভেতরের স্টেটমেন্ট কখনো এক্সিকিউট করবে না কারণ ০ মিথ্যা হিসেবে বিবেচিত হয়।

উদাহরণ: while(0)

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    cout << "Starting Loop" << endl;
    while (0) {
        cout << "The value of i: " << ++i << endl;
        if (i == 10) {
            break;
        }
    }
    cout << "Ending Loop";
}

আউটপুট

Starting Loop
Ending Loop
  1. C/C++-এ #include <filename> এবং #include "filename"-এর পার্থক্য

  2. C/C++-এ const int*, const int * const, int const * পার্থক্য

  3. C++-এ লিটারেল (Literal) এবং কনস্ট্যান্ট (Constant) এর পার্থক্য

  4. C++-এ ++i এবং i++ এর পার্থক্য