ในลูป for ซ้อน (Nested for loops) มีคำสั่ง for มากกว่าหนึ่งในส่วนตัวของลูป
จำนวนรอบการทำงาน จะเท่ากับ จำนวนรอบของลูปนอก คูณ จำนวนรอบของลูปใน
ตัวอย่าง
โปรแกรม C สำหรับลูป for ซ้อน:
#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 2; i++) {
for(j = 1; j <= 2; j++) {
printf("%d ", i * j);
}
}
return 0;
}ผลลัพธ์
เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:
1 2 2 4
ตารางการทำงาน i*j: i=1 j=1→1, j=2→2, i=2 j=1→2, j=2→4
คำสั่งอื่นที่เกี่ยวข้องในภาษา C:
- break
- continue
- goto
break
คีย์เวิร์ดใช้หยุดลูป (หรือ) ออกจากบล็อก
การควบคุมกระโดดไปคำสั่งถัดไปหลังลูป (หรือ) บล็อก
break ใช้กับ for, while, do-while และ switch
เมื่อ break ใช้ในลูปซ้อน จะหยุดเฉพาะลูปในสุด

ตัวอย่าง
โปรแกรม C สำหรับคำสั่ง break:
#include <stdio.h>
void main() {
int i;
for(i = 1; i <= 5; i++) {
printf("%d ", i);
if(i == 3)
break;
}
}ผลลัพธ์
เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:
1 2 3
continue
- คีย์เวิร์ดใช้สำหรับข้ามไปรอบถัดไปของลูป
- ข้ามคำสั่งหลัง continue
- ใช้กับ for, while, do-while

ตัวอย่าง
โปรแกรม C สำหรับคำสั่ง continue:
#include <stdio.h>
void main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 2)
continue;
printf("%d ", i);
}
}ผลลัพธ์
เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:
1 3 4 5
goto
ใช้เปลี่ยนลำดับการทำงานปกติของโปรแกรม โดยโอนการควบคุมไปส่วนอื่นของโปรแกรม

ตัวอย่าง
โปรแกรม C สำหรับคำสั่ง goto:
#include <stdio.h>
void main() {
printf("Hello ");
goto l1;
printf("How are ");
l1: printf("you");
}ผลลัพธ์
เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:
Hello you