সি প্রোগ্রামিং-এ যখন একটি if স্টেটমেন্টের ভেতরে আরেকটি if স্টেটমেন্ট ব্যবহার করা হয়, তখন তাকে nested if বলা হয়। এর মাধ্যমে আমরা আরও জটিল এবং ধাপে ধাপে শর্ত যাচাই করতে পারি।
একটি শর্ত যদি সত্য হয়, তখন পরবর্তী শর্ত চেক করা হয়। এভাবে একাধিক স্তরে যাচাই করে আমরা সুনির্দিষ্ট পরিস্থিতিতে নির্দিষ্ট সিদ্ধান্ত নিতে পারি। Nested if মূলত তখনই ব্যবহার করা হয়, যখন কোনো সিদ্ধান্তের মধ্যে আরও উপ-সিদ্ধান্ত থাকে — যেমন, কোনো ছাত্র উত্তীর্ণ হলে পরবর্তীতে তার গ্রেড নির্ধারণ করা ইত্যাদি।
১। Nested if মানে হলো — if এর ভিতরে আরেকটি if থাকা।
২। এক শর্তের ভিতরে আরেকটি শর্ত পরীক্ষা করা হয়।
৩। প্রথম শর্ত সত্য না হলে ভিতরের শর্ত যাচাই-ই হবে না।
৪। প্রতিটি if এর জন্য {} ব্লক ব্যবহার করাই ভালো প্র্যাকটিস।
৫। জটিল সিদ্ধান্ত নিতে এবং ধাপে ধাপে যাচাই করতে ব্যবহার করা হয়।
৬। খুব বেশি nested if ব্যবহার করলে কোড বুঝতে কষ্ট হতে পারে — এ ক্ষেত্রে else if বা switch ব্যবহার করা যেতে পারে।
if (শর্ত -১)
{
if (শর্ত-২)
{
// উভয় শর্ত সত্য হলে এই অংশ কাজ করবে।
}
}
#include <stdio.h>
int main() {
int a, b;
printf("Enter first number: ");
scanf("%d", &a);
printf("Enter second number: ");
scanf("%d", &b);
if (a > 0)
{
if (b > 0)
{
printf("দুটো সংখ্যাই ধনাত্মক");
}
}
return 0;
}
ব্যাখ্যা: প্রথমে a চেক করবে, তারপর b — উভয়ই ধনাত্মক হলে বার্তা দেখাবে।