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
⚡ Quick Recap
- Koi bhi non-zero value "true" hai, sirf 0 "false" hai
- else if se chain karo multiple conditions
On this 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.