এখানে আমরা সি বা সি++-এ 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