🚦
Basics

if-else (Decision Making)

Control Flow
💡 if-else ek railway junction hai — track condition ke hisaab se switch hota hai, bilkul Java jaisa hi.

if block tabhi chalta hai jab condition non-zero (true) ho. C mein koi bhi non-zero number "true" maana jaata hai — sirf 0 hi "false" hai. Ye ek common interview trick question hai.

else if se multiple conditions chain kar sakte ho, ek ke baad ek check hoti hain top se bottom.

int marks = 85;
if (marks >= 90) {
  printf("A grade\n");
} else if (marks >= 60) {
  printf("B grade\n");
} else {
  printf("Keep trying!\n");
}
🚦
if-else ek railway junction hai — track condition ke hisaab se switch hota hai, bilkul Java jaisa hi.
1 / 5
⚡ झट से Recap
  • Koi bhi non-zero value "true" hai, sirf 0 "false" hai
  • else if se chain karo multiple conditions
इस page में (2 subtopics)

if-else ke andar aur if-else laga sakte ho — jaise ek condition check karne ke baad, uske andar aur specific condition check karna. Deeply nested if-else code padhna mushkil bana deta hai, isliye 2-3 levels se zyada nesting avoid karna best practice hai.

int age = 25, hasLicense = 1;

if (age >= 18) {
  if (hasLicense) {
    printf("Drive kar sakte ho\n");
  } else {
    printf("Pehle license lo\n");
  }
} else {
  printf("Bahut chhote ho\n");
}

condition ? value_if_true : value_if_false — ek line mein simple if-else likhne ka tareeka. Sirf simple cases ke liye use karo, complex logic ke liye normal if-else zyada readable rehta hai.

int age = 20;
char* status = (age >= 18) ? "Adult" : "Minor";
printf("%s\n", status);

// Same as:
// char* status;
// if (age >= 18) status = "Adult";
// else status = "Minor";
💡Tip: Ternary operator ko nest mat karo (ternary ke andar ternary) — padhna bahut mushkil ho jaata hai. Agar multiple conditions chahiye, normal if-else ya switch use karo.