Vòng lặp lồng nhau là một vòng lặp được đặt bên trong một vòng lặp khác.
Ví dụ cấu trúc vòng lặp for lồng nhau:
for (khởi_tạo; điều_kiện; thao_tác) {
for (khởi_tạo; điều_kiện; thao_tác) {
câu_lệnh;
}
câu_lệnh;
}
Trong ví dụ này, vòng lặp nội chạy hết phạm vi lặp cho mỗi lần lặp của vòng lặp ngoại.
Ví dụ
Chương trình C in bảng 4 lũy thừa đầu tiên của các số từ 1 đến 9 bằng vòng lặp for lồng nhau:
#include <stdio.h>
void main() {
int i, j, k, temp, I = 1;
printf("I\tI^2\tI^3\tI^4 \n");
printf("--------------------------------\n");
for (i = 1; i < 10; i++) { /* Vòng lặp ngoại */
for (j = 1; j < 5; j++) { /* Cấp lồng thứ nhất */
temp = 1;
for (k = 0; k < j; k++) /* Cấp lồng thứ hai */
temp = temp * I;
printf("%d\t", temp);
}
printf("\n");
I++;
}
}
Kết quả
Kết quả đầu ra:
I I^2 I^3 I^4 ----------------------- 1 1 1 1 2 4 8 16 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561