Nested Loops in C

Nested loops in C are loops inside another loop. They are commonly used for multidimensional data processing, such as printing patterns or working with arrays.

Syntax

for (initialization1; condition1; increment1) { for (initialization2; condition2; increment2) { // Inner loop code } // Outer loop code }

Example: Nested For Loop

for (int i = 1; i <= 3; i++) { for (int j = 1; j <= 3; j++) { printf("%d ", j); } printf("\n"); } // Output: // 1 2 3 // 1 2 3 // 1 2 3

Example: Nested While Loop

int i = 1; while (i <= 3) { int j = 1; while (j <= 3) { printf("%d ", j); j++; } printf("\n"); i++; }

How It Works

  • The outer loop executes once for each iteration of the inner loop.
  • The inner loop completes all its iterations before the outer loop moves to the next iteration.
  • Useful for multidimensional tasks, such as 2D arrays or patterns.
  • Can be nested with any type of loop: for, while, or do-while.

Tips

  • Keep the number of nested levels minimal for readability.
  • Ensure each loop has a correct termination condition to avoid infinite loops.
  • Use descriptive variable names for inner and outer loops (e.g., row, col).
  • Indent properly to visualize the nested structure clearly.

Common Mistakes

  • Forgetting to reset inner loop variables before each outer loop iteration.
  • Creating infinite loops by having wrong conditions in either loop.
  • Over-nesting loops, making code difficult to read and debug.
  • Confusing the order of outer and inner loops when processing multidimensional data.