'Nested if' là câu lệnh if là đối tượng của if hoặc else khác. If đặt bên trong if hoặc else khác.
Cú pháp
if (condition1) {
if (condition2) stmt1;
else stmt2;
} else {
if (condition3) stmt3;
else stmt4;
}

Ví dụ 1
Chương trình tìm lớn nhất 3 số dùng nested if-else:
#include <stdio.h>
void main() {
int a, b, c;
printf("Nhập a,b,c:\n");
scanf("%d,%d,%d", &a, &b, &c);
if ((a > b) && (a > c)) {
if (a > c)
printf("%d lớn nhất", a);
else
printf("%d lớn nhất", c);
} else {
if (b > c)
printf("%d lớn nhất", b);
else
printf("%d lớn nhất", c);
}
}
Kết quả
Nhập a,b,c: 3,5,8 → 8 lớn nhất
Ví dụ 2: Kiểm tra số dương/âm/0
#include <stdio.h>
int main() {
int num;
printf("Nhập số:\n");
scanf("%d", &num);
if (num > 0) {
printf("Số dương: %d\n", num);
} else if (num < 0) {
printf("Số âm: %d", num);
} else {
printf("Số không: %d", num);
}
return 0;
}
Kết quả
Lần 1: 23 → Số dương: 23 Lần 2: -56 → Số âm: -56